When certain meta fields are logged, we pull them out of the meta fields
and into the log line, such as:
DEBUG: Branch is not pending, removing pending upgrades (branch="renovate/express-4.x")
However, this also would affect non-string values such as:
DEBUG: Git operations statistics (branch="[object Object]")
This only affects the "pretty" logs, but would mean no `branch` metadata
appears.
Instead, we can only include them when they're a string.
Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
As part of future changes, we need to correct the stringification logic
when `branch` is an object.
While looking at this, we noticed that `dependencies` is - likely - an
array of items being handled by `.toString()`ing them.
However, there's no existing cases in the codebase of this behaviour, so
we can remove it from `metaFields`.
Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
* fix(log): last log lines of config-validator not being written to file
* Use simpler write
* Simplify RenovateStream now that it only writes to stdout
* Rename RenovateStream to PrettyStdoutStream
* Simplify comment
In cases where the process ends very quickly after a log line is
written, it could lead to cases where that log line doesn't appear on
`stdout`.
We can make sure that we always explicitly call the callback.
This only affected the "pretty" output in the CLI, and only when log
lines were written fairly close to process end.
Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
* fix(logger): throwing when logging to file using pretty format
* Fix review comments
* Fix previously existing tests too
* Keep file.path
* Custom handle err.stack for readability
* Delete `file.path` since bunyan doesn't use it anyway
* Restore append flag for consistency with JSON format