-
Notifications
You must be signed in to change notification settings - Fork 888
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
apply serializers to args once before asObject or transmit #1971
apply serializers to args once before asObject or transmit #1971
Conversation
const argsCloned = args.slice() | ||
let msg = argsCloned[0] | ||
const logObject = {} | ||
if (ts) { | ||
logObject.time = ts | ||
} | ||
logObject.level = levelFormatter(level, logger.levels.values[level]) | ||
|
||
if (levelFormatter) { |
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.
restore previous implementation to fix this bug
@@ -361,9 +366,9 @@ function applySerializers (args, serialize, serializers, stdErrSerialize) { | |||
for (const i in args) { | |||
if (stdErrSerialize && args[i] instanceof Error) { | |||
args[i] = pino.stdSerializers.err(args[i]) | |||
} else if (typeof args[i] === 'object' && !Array.isArray(args[i])) { | |||
} else if (typeof args[i] === 'object' && !Array.isArray(args[i]) && serialize) { |
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.
no need to start a for loop, if serialize is not true
@@ -144,7 +144,7 @@ Unlike server pino the serializers apply to every object passed to the logger me | |||
if the `asObject` option is `true`, this results in the serializers applying to the | |||
first object (as in server pino). | |||
|
|||
For more info on serializers see https://github.com/pinojs/pino/blob/master/docs/api.md#parameters. | |||
For more info on serializers see https://github.com/pinojs/pino/blob/master/docs/api.md#mergingobject. |
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.
fix docs id
references
@@ -284,7 +284,6 @@ test('children inherit parent serializers', ({ end, is }) => { | |||
|
|||
test('children serializers get called', ({ end, is }) => { | |||
const parent = pino({ | |||
test: 'this', |
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.
this is not part of the pino config, or log parameters, seems like a mistake
@@ -166,7 +166,7 @@ test('opts.browser.asObject logs pino-like object to console', ({ end, ok, is }) | |||
end() | |||
}) | |||
|
|||
test('opts.browser.formatters logs pino-like object to console', ({ end, ok, is }) => { | |||
test('opts.browser.formatters (level) logs pino-like object to console', ({ end, ok, is }) => { |
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.
test names were the same, adding context for the different formatters config
|
||
end() | ||
}) | ||
|
||
test('opts.browser.write func string joining when asObject is true', ({ end, ok, is }) => { |
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.
this test was repeated, see line 262 below, I deleted this, git somehow is reconciling my changes adding new test using the these lines
@@ -302,7 +302,7 @@ function createWrap (self, opts, rootLogger, level) { | |||
const proto = (Object.getPrototypeOf && Object.getPrototypeOf(this) === _console) ? _console : this | |||
for (var i = 0; i < args.length; i++) args[i] = arguments[i] | |||
|
|||
if (opts.serialize && !opts.asObject) { | |||
if (opts.serialize && !opts.transmit) { |
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.
this is the required change to fix the bug
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
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [pino](https://getpino.io) ([source](https://togithub.com/pinojs/pino)) | [`^8.18.0` -> `^9.0.0`](https://renovatebot.com/diffs/npm/pino/8.21.0/9.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/pino/9.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pino/9.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pino/8.21.0/9.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pino/8.21.0/9.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>pinojs/pino (pino)</summary> ### [`v9.1.0`](https://togithub.com/pinojs/pino/releases/tag/v9.1.0) [Compare Source](https://togithub.com/pinojs/pino/compare/v9.0.0...v9.1.0) #### What's Changed - fix(transport-stream): Fix import error when using pkg with node v20 by [@​nagyszabi](https://togithub.com/nagyszabi) in [https://github.com/pinojs/pino/pull/1949](https://togithub.com/pinojs/pino/pull/1949) - Update LTS doc by [@​jsumners](https://togithub.com/jsumners) in [https://github.com/pinojs/pino/pull/1955](https://togithub.com/pinojs/pino/pull/1955) - Update pino types for browser.formatters by [@​KatelynKim](https://togithub.com/KatelynKim) in [https://github.com/pinojs/pino/pull/1946](https://togithub.com/pinojs/pino/pull/1946) - add node v22 to CI by [@​mcollina](https://togithub.com/mcollina) in [https://github.com/pinojs/pino/pull/1953](https://togithub.com/pinojs/pino/pull/1953) - Add Platformatic to sponsors by [@​mcollina](https://togithub.com/mcollina) in [https://github.com/pinojs/pino/pull/1956](https://togithub.com/pinojs/pino/pull/1956) - Update h3 example by [@​mcollina](https://togithub.com/mcollina) in [https://github.com/pinojs/pino/pull/1968](https://togithub.com/pinojs/pino/pull/1968) - Support file URLs when configuring multiple transports by [@​haines](https://togithub.com/haines) in [https://github.com/pinojs/pino/pull/1961](https://togithub.com/pinojs/pino/pull/1961) - Adding support for mix\&match pipelines by [@​dbacarel](https://togithub.com/dbacarel) in [https://github.com/pinojs/pino/pull/1954](https://togithub.com/pinojs/pino/pull/1954) - apply serializers to args once before asObject or transmit by [@​emmyakin](https://togithub.com/emmyakin) in [https://github.com/pinojs/pino/pull/1971](https://togithub.com/pinojs/pino/pull/1971) - build(deps-dev): bump pino-pretty from 10.3.1 to 11.0.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/pinojs/pino/pull/1933](https://togithub.com/pinojs/pino/pull/1933) - build(deps): bump sonic-boom from 3.8.1 to 4.0.1 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/pinojs/pino/pull/1960](https://togithub.com/pinojs/pino/pull/1960) - build(deps): bump pino-std-serializers from 6.2.2 to 7.0.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/pinojs/pino/pull/1957](https://togithub.com/pinojs/pino/pull/1957) - build(deps-dev): bump tsd from 0.30.7 to 0.31.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/pinojs/pino/pull/1937](https://togithub.com/pinojs/pino/pull/1937) - build(deps): bump actions/dependency-review-action from 3 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/pinojs/pino/pull/1894](https://togithub.com/pinojs/pino/pull/1894) - build(deps): bump pnpm/action-setup from 2.4.0 to 3.0.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/pinojs/pino/pull/1913](https://togithub.com/pinojs/pino/pull/1913) - Drop yarn support and update pnpm by [@​mcollina](https://togithub.com/mcollina) in [https://github.com/pinojs/pino/pull/1972](https://togithub.com/pinojs/pino/pull/1972) - build(deps): bump thread-stream from 2.7.0 to 3.0.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/pinojs/pino/pull/1959](https://togithub.com/pinojs/pino/pull/1959) #### New Contributors - [@​nagyszabi](https://togithub.com/nagyszabi) made their first contribution in [https://github.com/pinojs/pino/pull/1949](https://togithub.com/pinojs/pino/pull/1949) - [@​haines](https://togithub.com/haines) made their first contribution in [https://github.com/pinojs/pino/pull/1961](https://togithub.com/pinojs/pino/pull/1961) - [@​emmyakin](https://togithub.com/emmyakin) made their first contribution in [https://github.com/pinojs/pino/pull/1971](https://togithub.com/pinojs/pino/pull/1971) **Full Changelog**: pinojs/pino@v9.0.0...v9.1.0 ### [`v9.0.0`](https://togithub.com/pinojs/pino/compare/v8.21.0...4f8ea32aa69ec94b2fb5561716a7701aec991ce7) [Compare Source](https://togithub.com/pinojs/pino/compare/v8.21.0...v9.0.0) </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 [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rustymotors/server). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMTMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjM1MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [pino](https://getpino.io) ([source](https://togithub.com/pinojs/pino)) | [`8.21.0` -> `9.3.1`](https://renovatebot.com/diffs/npm/pino/8.21.0/9.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/pino/9.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pino/9.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pino/8.21.0/9.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pino/8.21.0/9.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>pinojs/pino (pino)</summary> ### [`v9.3.1`](https://togithub.com/pinojs/pino/releases/tag/v9.3.1) [Compare Source](https://togithub.com/pinojs/pino/compare/v9.3.0...v9.3.1) **Full Changelog**: pinojs/pino@v9.3.0...v9.3.1 ### [`v9.3.0`](https://togithub.com/pinojs/pino/compare/v9.2.0...92f2cee98e83d3f864b228a6e1dc29a31e54ba49) [Compare Source](https://togithub.com/pinojs/pino/compare/v9.2.0...v9.3.0) ### [`v9.2.0`](https://togithub.com/pinojs/pino/releases/tag/v9.2.0) [Compare Source](https://togithub.com/pinojs/pino/compare/v9.1.0...v9.2.0) #### What's Changed - shallow clone target options by [@​mcollina](https://togithub.com/mcollina) in [https://github.com/pinojs/pino/pull/1973](https://togithub.com/pinojs/pino/pull/1973) - add logger instance as third parameter by [@​emmyakin](https://togithub.com/emmyakin) in [https://github.com/pinojs/pino/pull/1977](https://togithub.com/pinojs/pino/pull/1977) - use boolean flag to ensure serializers are applied once by [@​emmyakin](https://togithub.com/emmyakin) in [https://github.com/pinojs/pino/pull/1976](https://togithub.com/pinojs/pino/pull/1976) - suppport messageKey in pino/browser by [@​emmyakin](https://togithub.com/emmyakin) in [https://github.com/pinojs/pino/pull/1980](https://togithub.com/pinojs/pino/pull/1980) - Fixing browser side child log issue ([#​960](https://togithub.com/pinojs/pino/issues/960)) child level can now be set at cr… by [@​stevel032](https://togithub.com/stevel032) in [https://github.com/pinojs/pino/pull/1986](https://togithub.com/pinojs/pino/pull/1986) #### New Contributors - [@​stevel032](https://togithub.com/stevel032) made their first contribution in [https://github.com/pinojs/pino/pull/1986](https://togithub.com/pinojs/pino/pull/1986) **Full Changelog**: pinojs/pino@v9.1.0...v9.2.0 ### [`v9.1.0`](https://togithub.com/pinojs/pino/releases/tag/v9.1.0) [Compare Source](https://togithub.com/pinojs/pino/compare/v9.0.0...v9.1.0) #### What's Changed - fix(transport-stream): Fix import error when using pkg with node v20 by [@​nagyszabi](https://togithub.com/nagyszabi) in [https://github.com/pinojs/pino/pull/1949](https://togithub.com/pinojs/pino/pull/1949) - Update LTS doc by [@​jsumners](https://togithub.com/jsumners) in [https://github.com/pinojs/pino/pull/1955](https://togithub.com/pinojs/pino/pull/1955) - Update pino types for browser.formatters by [@​KatelynKim](https://togithub.com/KatelynKim) in [https://github.com/pinojs/pino/pull/1946](https://togithub.com/pinojs/pino/pull/1946) - add node v22 to CI by [@​mcollina](https://togithub.com/mcollina) in [https://github.com/pinojs/pino/pull/1953](https://togithub.com/pinojs/pino/pull/1953) - Add Platformatic to sponsors by [@​mcollina](https://togithub.com/mcollina) in [https://github.com/pinojs/pino/pull/1956](https://togithub.com/pinojs/pino/pull/1956) - Update h3 example by [@​mcollina](https://togithub.com/mcollina) in [https://github.com/pinojs/pino/pull/1968](https://togithub.com/pinojs/pino/pull/1968) - Support file URLs when configuring multiple transports by [@​haines](https://togithub.com/haines) in [https://github.com/pinojs/pino/pull/1961](https://togithub.com/pinojs/pino/pull/1961) - Adding support for mix\&match pipelines by [@​dbacarel](https://togithub.com/dbacarel) in [https://github.com/pinojs/pino/pull/1954](https://togithub.com/pinojs/pino/pull/1954) - apply serializers to args once before asObject or transmit by [@​emmyakin](https://togithub.com/emmyakin) in [https://github.com/pinojs/pino/pull/1971](https://togithub.com/pinojs/pino/pull/1971) - build(deps-dev): bump pino-pretty from 10.3.1 to 11.0.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/pinojs/pino/pull/1933](https://togithub.com/pinojs/pino/pull/1933) - build(deps): bump sonic-boom from 3.8.1 to 4.0.1 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/pinojs/pino/pull/1960](https://togithub.com/pinojs/pino/pull/1960) - build(deps): bump pino-std-serializers from 6.2.2 to 7.0.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/pinojs/pino/pull/1957](https://togithub.com/pinojs/pino/pull/1957) - build(deps-dev): bump tsd from 0.30.7 to 0.31.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/pinojs/pino/pull/1937](https://togithub.com/pinojs/pino/pull/1937) - build(deps): bump actions/dependency-review-action from 3 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/pinojs/pino/pull/1894](https://togithub.com/pinojs/pino/pull/1894) - build(deps): bump pnpm/action-setup from 2.4.0 to 3.0.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/pinojs/pino/pull/1913](https://togithub.com/pinojs/pino/pull/1913) - Drop yarn support and update pnpm by [@​mcollina](https://togithub.com/mcollina) in [https://github.com/pinojs/pino/pull/1972](https://togithub.com/pinojs/pino/pull/1972) - build(deps): bump thread-stream from 2.7.0 to 3.0.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/pinojs/pino/pull/1959](https://togithub.com/pinojs/pino/pull/1959) #### New Contributors - [@​nagyszabi](https://togithub.com/nagyszabi) made their first contribution in [https://github.com/pinojs/pino/pull/1949](https://togithub.com/pinojs/pino/pull/1949) - [@​haines](https://togithub.com/haines) made their first contribution in [https://github.com/pinojs/pino/pull/1961](https://togithub.com/pinojs/pino/pull/1961) - [@​emmyakin](https://togithub.com/emmyakin) made their first contribution in [https://github.com/pinojs/pino/pull/1971](https://togithub.com/pinojs/pino/pull/1971) **Full Changelog**: pinojs/pino@v9.0.0...v9.1.0 ### [`v9.0.0`](https://togithub.com/pinojs/pino/compare/v8.21.0...4f8ea32aa69ec94b2fb5561716a7701aec991ce7) [Compare Source](https://togithub.com/pinojs/pino/compare/v8.21.0...v9.0.0) </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 [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/redwoodjs/redwood). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzEuNCIsInVwZGF0ZWRJblZlciI6IjM3LjQzMS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Fixes serializers are applied twice in pino/browser #1970
applySerializers
functioin mutatesargs
to logger.*, this cause args to be updated twice inasObject
andtransmit
asObject
Also includes fix for
browser.formatters.level
does not inline attributes into message anymore #1966formatters.level
does not spread the returned object, but updateslogData.level = { level: 30, label: 'info' }