This package is Winston logger transport that sends errors to Stackdriver Error Reporting service.
It's able to work in two modes:
- Logging to stdout compatible with Google Container Engine;
- Logging via an API with a help of @google-cloud/error-reporting library.
Simply add this to your Winston transports array:
winston.configure({
transports: [
new StackdriverErrorReporting(options),
],
});
This transport supports 100% same configuration options as @google-cloud/error-reporting library, and uses API transport by default.
The only additional option is options.level
that controls minimal log entry level that should be sent to Stackdriver.
If you want to use stdout logging mode, all you need is to switch mode and set your serviceContext
:
winston.configure({
transports: [
new StackdriverErrorReporting({
mode: 'console',
serviceContext: {
service: 'my service',
version: '1.0.0'
}
}),
],
});
When log entry reaches this transport, it will search meta
object of log entry for objects that looks like errors
(with stack
property defined).
After that, all errors will be delivered to Stackdriver Error Reporting service.
If meta.context
property is defined, it will be attached to error as it's context.
Please see Stackdriver Error Reporting documentation for details.
Official package @google-cloud/logging-winston exists now, a winston transport for Stackdriver Logging, which can automatically report logged errors to Error Reporting.