@loglayer/transport-google-cloud-logging v2.1.0
Google Cloud Logging Transport for LogLayer
Implements the Google Cloud Logging library for use with the LogLayer logging library.
This transport sends logs to Google Cloud Logging (formerly known as Stackdriver Logging).
Installation
npm install @loglayer/transport-google-cloud-logging @google-cloud/logging serialize-errorNotes
This transport uses log.entry(metadata, data) as described in the library documentation.
- The
metadataportion is not the data fromwithMetadata()orwithContext(). See therootLevelDataoption for this transport on how to modify this value. - The
dataportion is actually thejsonPayloadis what the transport uses for all LogLayer data. - The message data is stored in
jsonPayload.message
For more information, see Structured Logging, specifically LogEntry.
Usage
import { LogLayer } from "loglayer";
import { GoogleCloudLoggingTransport } from "@loglayer/transport-google-cloud-logging";
import { Logging } from '@google-cloud/logging';
import { serializeError } from "serialize-error";
// Create the logging client
const logging = new Logging({ projectId: "GOOGLE_CLOUD_PLATFORM_PROJECT_ID" });
const log = logging.log('my-log');
// Create LogLayer instance with the transport
const logger = new LogLayer({
errorSerializer: serializeError,
transport: new GoogleCloudLoggingTransport({
logger: log,
})
});
// The logs will include the default metadata
logger.info("Hello from Cloud Run!");Configuration Options
rootLevelData
The root level data to include for all log entries.
This is not the same as using withContext(), which would be included as part of the jsonPayload.
The rootLevelData option accepts any valid Google Cloud LogEntry
fields except for severity, timestamp, and jsonPayload which are managed by the transport.
const logger = new LogLayer({
transport: new GoogleCloudLoggingTransport({
logger: log,
rootLevelData: {
resource: {
type: "cloud_run_revision",
labels: {
project_id: "my-project",
service_name: "my-service",
revision_name: "my-revision",
},
},
labels: {
environment: "production",
version: "1.0.0",
},
},
}),
});Log Level Mapping
LogLayer log levels are mapped to Google Cloud Logging severity levels as follows:
| LogLayer Level | Google Cloud Logging Severity |
|---|---|
fatal | CRITICAL |
error | ERROR |
warn | WARNING |
info | INFO |
debug | DEBUG |
trace | DEBUG |
Documentation
For more details, visit https://loglayer.dev/transports/google-cloud-logging