Skip to content
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

Merged

Conversation

emmyakin
Copy link
Contributor

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) {
Copy link
Contributor Author

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) {
Copy link
Contributor Author

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.
Copy link
Contributor Author

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',
Copy link
Contributor Author

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 }) => {
Copy link
Contributor Author

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 }) => {
Copy link
Contributor Author

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) {
Copy link
Contributor Author

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

Copy link
Member

@mcollina mcollina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@mcollina mcollina merged commit 2dda26c into pinojs:main May 13, 2024
2 checks passed
drazisil added a commit to rustymotors/server that referenced this pull request Jun 3, 2024
[![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 [@&#8203;nagyszabi](https://togithub.com/nagyszabi) in
[pinojs/pino#1949
- Update LTS doc by [@&#8203;jsumners](https://togithub.com/jsumners) in
[pinojs/pino#1955
- Update pino types for browser.formatters by
[@&#8203;KatelynKim](https://togithub.com/KatelynKim) in
[pinojs/pino#1946
- add node v22 to CI by
[@&#8203;mcollina](https://togithub.com/mcollina) in
[pinojs/pino#1953
- Add Platformatic to sponsors by
[@&#8203;mcollina](https://togithub.com/mcollina) in
[pinojs/pino#1956
- Update h3 example by [@&#8203;mcollina](https://togithub.com/mcollina)
in
[pinojs/pino#1968
- Support file URLs when configuring multiple transports by
[@&#8203;haines](https://togithub.com/haines) in
[pinojs/pino#1961
- Adding support for mix\&match pipelines by
[@&#8203;dbacarel](https://togithub.com/dbacarel) in
[pinojs/pino#1954
- apply serializers to args once before asObject or transmit by
[@&#8203;emmyakin](https://togithub.com/emmyakin) in
[pinojs/pino#1971
- build(deps-dev): bump pino-pretty from 10.3.1 to 11.0.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[pinojs/pino#1933
- build(deps): bump sonic-boom from 3.8.1 to 4.0.1 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[pinojs/pino#1960
- build(deps): bump pino-std-serializers from 6.2.2 to 7.0.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[pinojs/pino#1957
- build(deps-dev): bump tsd from 0.30.7 to 0.31.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[pinojs/pino#1937
- build(deps): bump actions/dependency-review-action from 3 to 4 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[pinojs/pino#1894
- build(deps): bump pnpm/action-setup from 2.4.0 to 3.0.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[pinojs/pino#1913
- Drop yarn support and update pnpm by
[@&#8203;mcollina](https://togithub.com/mcollina) in
[pinojs/pino#1972
- build(deps): bump thread-stream from 2.7.0 to 3.0.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[pinojs/pino#1959

#### New Contributors

- [@&#8203;nagyszabi](https://togithub.com/nagyszabi) made their first
contribution in
[pinojs/pino#1949
- [@&#8203;haines](https://togithub.com/haines) made their first
contribution in
[pinojs/pino#1961
- [@&#8203;emmyakin](https://togithub.com/emmyakin) made their first
contribution in
[pinojs/pino#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-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

serializers are applied twice in pino/browser
2 participants