-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(http): allow passing maximumDepth to prevent big object being stringified #2425
fix(http): allow passing maximumDepth to prevent big object being stringified #2425
Conversation
please @DABH when you get some time |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
When you get some pls to merge it |
lib/winston/transports/http.js
Outdated
@@ -35,6 +35,7 @@ module.exports = class Http extends TransportStream { | |||
this.port = options.port; | |||
this.auth = options.auth; | |||
this.path = options.path || ''; | |||
this.maximumDepth = options.maximumDepth || 10; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can't change the current default behavior though -- looks like default is Infinity
per https://github.com/BridgeAR/safe-stable-stringify/blob/46f24495221803b7a945883cb8fb262b14f1ea52/index.js#L125 so I think that is what we should use here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Can't quite use Infinity due to the checks safe-stable-stringify
has in place -- try using ES6 spreading to conditionally set the prop in the config object if it's passed in as an option)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [winston](https://github.com/winstonjs/winston) | dependencies | minor | [`3.11.0` -> `3.13.0`](https://renovatebot.com/diffs/npm/winston/3.11.0/3.13.0) | --- ### Release Notes <details> <summary>winstonjs/winston (winston)</summary> ### [`v3.13.0`](https://github.com/winstonjs/winston/releases/tag/v3.13.0) [Compare Source](winstonjs/winston@v3.12.1...v3.13.0) - fix(http): allow passing maximumDepth to prevent big object being stringified ([#​2425](winstonjs/winston#2425)) [`a237865`](winstonjs/winston@a237865) ### [`v3.12.1`](https://github.com/winstonjs/winston/releases/tag/v3.12.1) [Compare Source](winstonjs/winston@v3.12.0...v3.12.1) - Bump [@​types/node](https://github.com/types/node) from 20.11.24 to 20.11.29 ([#​2431](winstonjs/winston#2431)) [`b10b98f`](winstonjs/winston@b10b98f) - Revert "Remove nonexistent Logger methods from types" ([#​2434](winstonjs/winston#2434)) [`0277035`](winstonjs/winston@0277035) - fixed flaky test case ([#​2412](winstonjs/winston#2412)) [`d95c948`](winstonjs/winston@d95c948) ### [`v3.12.0`](https://github.com/winstonjs/winston/releases/tag/v3.12.0) [Compare Source](winstonjs/winston@v3.11.0...v3.12.0) - missing timestamp format in ready-to-use-pattern example ([#​2421](winstonjs/winston#2421)) [`9e5b407`](winstonjs/winston@9e5b407) - bump deps ([#​2422](winstonjs/winston#2422)) [`4a85e6b`](winstonjs/winston@4a85e6b) - \[chore] Run coveralls CI check on Node 20 not 16 ([#​2418](winstonjs/winston#2418)) [`e153c68`](winstonjs/winston@e153c68) - Bump [@​types/node](https://github.com/types/node) from 20.8.6 to 20.11.19 ([#​2413](winstonjs/winston#2413)) [`587f40f`](winstonjs/winston@587f40f) - Update README.md ([#​2417](winstonjs/winston#2417)) [`8e99a00`](winstonjs/winston@8e99a00) - docs: fix anchor in transports docs ([#​2416](winstonjs/winston#2416)) [`0bde36b`](winstonjs/winston@0bde36b) - add winston-transport-vscode to transports docs ([#​2411](winstonjs/winston#2411)) [`8fb5b41`](winstonjs/winston@8fb5b41) - Bump [@​babel/cli](https://github.com/babel/cli) from 7.23.0 to 7.23.9 ([#​2406](winstonjs/winston#2406)) [`a326743`](winstonjs/winston@a326743) - Add winston-newrelic-agent-transport to transport documentation ([#​2382](winstonjs/winston#2382)) [`cc731ef`](winstonjs/winston@cc731ef) - Remove newrelic-winston transport entry. ([#​2405](winstonjs/winston#2405)) [`f077f30`](winstonjs/winston@f077f30) - Bump eslint from 8.55.0 to 8.56.0 ([#​2397](winstonjs/winston#2397)) [`3943c41`](winstonjs/winston@3943c41) - Bump the npm_and_yarn group group with 1 update ([#​2391](winstonjs/winston#2391)) [`8260866`](winstonjs/winston@8260866) - Fix unhandled rejection handling ([#​2390](winstonjs/winston#2390)) [`333b763`](winstonjs/winston@333b763) - Fix all rimraf usages to the best of my ability; glob is not true by default in rimraf; file archive test only passed every other time using async rimraf, could use further investigation [`c3f3b5b`](winstonjs/winston@c3f3b5b) - Fix rimraf usage in new test [`8f3c653`](winstonjs/winston@8f3c653) - Fix rimraf import in test (why didn't this break in PR CI?) [`f3836aa`](winstonjs/winston@f3836aa) - Added functionality to long broken zippedArchive option ([#​2337](winstonjs/winston#2337)) [`02d4267`](winstonjs/winston@02d4267) - Bump async from 3.2.4 to 3.2.5 ([#​2378](winstonjs/winston#2378)) [`069a40d`](winstonjs/winston@069a40d) - Bump [@​babel/preset-env](https://github.com/babel/preset-env) from 7.23.2 to 7.23.7 ([#​2384](winstonjs/winston#2384)) [`79282e1`](winstonjs/winston@79282e1) - Bump winston-transport; fix test issue ([#​2386](winstonjs/winston#2386)) [`05788b9`](winstonjs/winston@05788b9) - Bump eslint from 8.51.0 to 8.55.0 ([#​2375](winstonjs/winston#2375)) [`a7c2eec`](winstonjs/winston@a7c2eec) - Bump std-mocks from 1.0.1 to 2.0.0 ([#​2361](winstonjs/winston#2361)) [`85c336e`](winstonjs/winston@85c336e) - Bump actions/setup-node from 3 to 4 ([#​2362](winstonjs/winston#2362)) [`448d11c`](winstonjs/winston@448d11c) - chore(README.md): adds documentation around coloring json formatted logs [`91ec069`](winstonjs/winston@91ec069) - Remove nonexistent Logger methods from types [`c3c3911`](winstonjs/winston@c3c3911) - Update dependencies [`caf2df6`](winstonjs/winston@caf2df6) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=--> Reviewed-on: https://gitea.vylpes.xyz/External/card-drop/pulls/212 Reviewed-by: Vylpes <ethan@vylpes.com> Co-authored-by: Renovate Bot <renovate@vylpes.com> Co-committed-by: Renovate Bot <renovate@vylpes.com>
safe-stable-stringify by default stringify all levels of an object, but this is not good in all cases if you have giant objects, this should prevent consuming a lot of memory when logging