What is @google-cloud/logging?
The @google-cloud/logging package is a client library for Google Cloud Logging, part of Google Cloud's suite of services for storing, searching, analyzing, monitoring, and alerting on log data from Google Cloud and Amazon Web Services. It allows developers to integrate their applications with the Google Cloud Logging service easily, enabling them to send logs directly from their applications to the cloud.
What are @google-cloud/logging's main functionalities?
Writing Log Entries
This feature allows users to write log entries to Google Cloud Logging. The code sample demonstrates how to create a log entry and write it to a specified log in Google Cloud.
const {Logging} = require('@google-cloud/logging');
const logging = new Logging();
const log = logging.log('my-log');
const metadata = {resource: {type: 'global'}};
const entry = log.entry(metadata, {message: 'Hello, world!'});
async function writeLog() {
await log.write(entry);
console.log('Logged: Hello, world!');
}
writeLog();
Listing Logs
This feature enables the listing of all logs in the Google Cloud Logging account. The code sample shows how to retrieve and print the names of all logs.
const {Logging} = require('@google-cloud/logging');
const logging = new Logging();
async function listLogs() {
const [logs] = await logging.getLogs();
console.log('Logs:');
logs.forEach(log => {
console.log(log.name);
});
}
listLogs();
Deleting Logs
This feature allows users to delete logs from Google Cloud Logging. The code sample illustrates how to delete a specific log by its name.
const {Logging} = require('@google-cloud/logging');
const logging = new Logging();
const log = logging.log('my-log');
async function deleteLog() {
await log.delete();
console.log('Log deleted.');
}
deleteLog();
Other packages similar to @google-cloud/logging
winston
Winston is a versatile logging library for Node.js. Unlike @google-cloud/logging, which is specifically designed for integration with Google Cloud Logging, Winston supports multiple transports (a way to store logs) such as files, console, and more. It is more flexible for various logging needs and environments but doesn't provide direct integration with Google Cloud Logging without additional plugins.
bunyan
Bunyan is another Node.js logging library that focuses on JSON logging. Like Winston, it is highly configurable and supports various outputs but does not have built-in support for Google Cloud Logging. It is comparable to @google-cloud/logging in terms of providing structured logging but is more general-purpose.
Node.js idiomatic client for Logging.
Stackdriver Logging allows you to store, search, analyze, monitor, and alert on log data and events from Google Cloud Platform and Amazon Web Services.
Read more about the client libraries for Cloud APIs, including the older
Google APIs Client Libraries, in Client Libraries Explained.
Table of contents:
Quickstart
Before you begin
-
Select or create a Cloud Platform project.
Go to the projects page
-
Enable billing for your project.
Enable billing
-
Enable the Stackdriver Logging API.
Enable the API
-
Set up authentication with a service account so you can access the
API from your local workstation.
Installing the client library
npm install --save @google-cloud/logging
Using the client library
const Logging = require('@google-cloud/logging');
const projectId = 'YOUR_PROJECT_ID';
const logging = new Logging({
projectId: projectId,
});
const logName = 'my-log';
const log = logging.log(logName);
const text = 'Hello, world!';
const metadata = {resource: {type: 'global'}};
const entry = log.entry(metadata, text);
log
.write(entry)
.then(() => {
console.log(`Logged: ${text}`);
})
.catch(err => {
console.error('ERROR:', err);
});
Samples
Samples are in the samples/
directory. The samples' README.md
has instructions for running the samples.
The Logging Node.js Client API Reference documentation
also contains samples.
Versioning
This library follows Semantic Versioning.
This library is considered to be General Availability (GA). This means it
is stable; the code surface will not change in backwards-incompatible ways
unless absolutely necessary (e.g. because of critical security issues) or with
an extensive deprecation period. Issues and requests against GA libraries
are addressed with the highest priority.
More Information: Google Cloud Platform Launch Stages
Contributing
Contributions welcome! See the Contributing Guide.
License
Apache Version 2.0
See LICENSE