googleapis / nodejs-logging-winston

Node.js client integration between Stackdriver Logging and Winston.
https://cloud.google.com/logging/
Apache License 2.0
105 stars 50 forks source link

Add support for the "operation" field #842

Open niklasschloegel opened 6 months ago

niklasschloegel commented 6 months ago

I wanted to add operation details to my logs as described in https://cloud.google.com/logging/docs/structured-logging#structured_logging_special_fields.

When writing logs like

logger.info("logmessage...", {"logging.googleapis.com/operation": { id: "doStuff", producer: requestId }})

I expected the log entries to have an "operation" field in the Log Explorer UI, although they just appeared in messages.jsonPayload.metadata as a string.

Similar to how traceIds are handled in common.ts, I would want to implement the same handling for operations, as passing traceIds works like this as intended:

logger.info("logmessage...", {"logging.googleapis.com/trace": "projects/projectid/..."})