
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
@naturalcycles/google-cloud-logging-winston
Advanced tools
Stackdriver Logging transport for Winston
Stackdriver Logging transport for Winston
This module provides an easy to use, higher-level layer for working with Stackdriver Logging, compatible with Winston. Simply attach this as a transport to your existing Winston loggers.
For lower-level access to the Stackdriver Logging API, see @google-cloud/logging.
Beta This is a Beta release of the Stackdriver Logging libraries for Node.js. These libraries might be changed in backward-incompatible ways and are not subject to any SLA or deprecation policy.
$ npm install --save @google-cloud/logging-winston
var winston = require('winston');
var transport = require('@google-cloud/logging-winston');
winston.add(transport, {
projectId: 'grape-spaceship-123',
keyFilename: '/path/to/keyfile.json',
level: 'warn' // log at 'warn' and above
});
winston.error('warp nacelles offline');
winston.verbose('sheilds at 99%');
It's incredibly easy to get authenticated and start using Google's APIs. You can set your credentials on a global basis as well as on a per-API basis. See each individual API section below to see how you can auth on a per-API-basis. This is useful if you want to use different accounts for different Cloud services.
If you are running this client on Google Cloud Platform, we handle authentication for you with no configuration. You just need to make sure that when you set up the GCE instance, you add the correct scopes for the APIs you want to access.
var winston = require('winston');
var transport = require('@google-cloud/logging-winston');
winston.add(transport);
// ...you're good to go!
If you are not running this client on Google Cloud Platform, you need a Google Developers service account. To create a service account:
var winston = require('winston');
var transport = require('@google-cloud/logging-winston');
winston.add(transport, {
projectId: 'grape-spaceship-123',
// The path to your key file:
keyFilename: '/path/to/keyfile.json'
// Or the contents of the key file:
credentials: require('./path/to/keyfile.json')
});
// ...you're good to go!
Any Error
objects you log at severity error
or higher can automatically be picked up by Stackdriver Error Reporting if your application is running on Google Cloud Platform. Make sure to add logs to your uncaught exception and unhandled rejection handlers if you want to see those errors too.
You may also want to see the @google-cloud/error-reporting module which provides direct access to the Error Reporting API.
To format your request logs you can provide a httpRequest
property as part of the log metadata you provide to winston. We will treat this as the HttpRequest
message and Stackdriver logging will show this as a request log. Example:
winston.info(`${req.url} endpoint hit`, {
httpRequest: {
status: res.statusCode,
requestUrl: req.url,
requestMethod: req.method,
remoteIp: req.connection.remoteAddress,
// etc.
}
});
The httpRequest
proprety must be a properly formatted HttpRequest
message.
If you use @google-cloud/trace-agent module, then this module will set the Stackdriver Logging LogEntry trace
property based on the current trace context when available. That correlation allows you to view log entries inline with trace spans in the Stackdriver Trace Viewer. Example:
If you wish to set the LogEntry trace
property with a custom value, then set a winston metadata property for 'logging.googleapis.com/trace'
, which is exported by this module as LOGGING_TRACE_KEY
. For example:
const winston = require('winston');
const transport = require('@google-cloud/logging-winston');
...
winston.info('Log entry with custom trace value', {
[transport.LOGGING_TRACE_KEY]: 'custom-trace-value'
});
FAQs
Stackdriver Logging transport for Winston
The npm package @naturalcycles/google-cloud-logging-winston receives a total of 0 weekly downloads. As such, @naturalcycles/google-cloud-logging-winston popularity was classified as not popular.
We found that @naturalcycles/google-cloud-logging-winston demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.