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 (AWS).
Constructor
Logging
new Logging(options)
Parameter |
|
---|---|
options |
Optional Configuration options. |
- See also
Logging to Stackdriver from Bunyan">www.npmjs.com/package/@google-cloud/logging-bunyan}
Logging to Stackdriver from Winston">www.npmjs.com/package/@google-cloud/logging-winston}
Examples
Import the client library
const {Logging} = require('@google-cloud/logging');
<caption>Create a client that uses <a
href="https://cloud.google.com/docs/authentication/production#providing_credentials_to_your_application">Application
Default Credentials (ADC)</a>:</caption> const logging = new Logging();
<caption>Create a client with <a
href="https://cloud.google.com/docs/authentication/production#obtaining_and_providing_service_account_credentials_manually">explicit
credentials</a>:</caption> const logging = new Logging({ projectId:
'your-project-id', keyFilename: '/path/to/keyfile.json'
});
Full quickstart example:
Methods
createSink
createSink(name, config, callback) returns Promise containing CreateSinkResponse
Create a sink.
Parameter |
|
---|---|
name |
string Name of the sink. |
config |
Config to set for the sink. |
callback |
Optional Callback function. |
- See also
- Sink#create
- Throws
-
Error
If a name is not provided.
-
Error
if a config object is not provided.
- Returns
-
Promise containing CreateSinkResponse
Example
const {Storage} = require('@google-cloud/storage');
const storage = new Storage({
projectId: 'grape-spaceship-123'
});
const {Logging} = require('@google-cloud/logging');
const logging = new Logging();
const config = {
destination: storage.bucket('logging-bucket'),
filter: 'severity = ALERT'
};
function callback(err, sink, apiResponse) {
// `sink` is a Sink object.
}
logging.createSink('new-sink-name', config, callback);
//-
// If the callback is omitted, we'll return a Promise.
//-
logging.createSink('new-sink-name', config).then(data => {
const sink = data[0];
const apiResponse = data[1];
});
Another example:
entry
entry(resource, data) returns Entry
Create an entry object.
Note that using this method will not itself make any API requests. You will use the object returned in other API calls, such as Log#write.
Parameter |
|
---|---|
resource |
Optional (nullable object or nullable string) See a Monitored Resource. |
data |
(object or string) The data to use as the value for this log entry. |
- See also
- Returns
Example
const {Logging} = require('@google-cloud/logging');
const logging = new Logging();
const resource = {
type: 'gce_instance',
labels: {
zone: 'global',
instance_id: '3'
}
};
const entry = logging.entry(resource, {
delegate: 'my_username'
});
entry.toJSON();
// {
// resource: {
// type: 'gce_instance',
// labels: {
// zone: 'global',
// instance_id: '3'
// }
// },
// jsonPayload: {
// delegate: 'my_username'
// }
// }
getEntries
getEntries(query, callback) returns Promise containing GetEntriesResponse
List the entries in your logs.
Parameter |
|
---|---|
query |
Optional Query object for listing entries. |
callback |
Optional Callback function. |
- See also
- Returns
-
Promise containing GetEntriesResponse
Example
const {Logging} = require('@google-cloud/logging');
const logging = new Logging();
logging.getEntries((err, entries) => {
// `entries` is an array of Stackdriver Logging entry objects.
// See the `data` property to read the data from the entry.
});
//-
// To control how many API requests are made and page through the results
// manually, set `autoPaginate` to `false`.
//-
function callback(err, entries, nextQuery, apiResponse) {
if (nextQuery) {
// More results exist.
logging.getEntries(nextQuery, callback);
}
}
logging.getEntries({
autoPaginate: false
}, callback);
//-
// If the callback is omitted, we'll return a Promise.
//-
logging.getEntries().then(data => {
const entries = data[0];
});
Another example:
Another example:
getEntriesStream
getEntriesStream(query) returns ReadableStream
List the Entry objects in your logs as a readable object stream.
Parameter |
|
---|---|
query |
Optional Query object for listing entries. |
- Returns
-
ReadableStream
A readable stream that emits Entry instances.
Example
const {Logging} = require('@google-cloud/logging');
const logging = new Logging();
logging.getEntriesStream()
.on('error', console.error)
.on('data', entry => {
// `entry` is a Stackdriver Logging entry object.
// See the `data` property to read the data from the entry.
})
.on('end', function() {
// All entries retrieved.
});
//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
logging.getEntriesStream()
.on('data', function(entry) {
this.end();
});
getSinks
getSinks(query, callback) returns Promise containing GetSinksResponse
Get the sinks associated with this project.
Parameter |
|
---|---|
query |
Optional Query object for listing sinks. |
callback |
Optional Callback function. |
- See also
- Returns
-
Promise containing GetSinksResponse
Example
const {Logging} = require('@google-cloud/logging');
const logging = new Logging();
logging.getSinks((err, sinks) => {
// sinks is an array of Sink objects.
});
//-
// If the callback is omitted, we'll return a Promise.
//-
logging.getSinks().then(data => {
const sinks = data[0];
});
Another example:
getSinksStream
getSinksStream(query) returns ReadableStream
Get the Sink objects associated with this project as a readable object stream.
Parameter |
|
---|---|
query |
Optional Query object for listing sinks. |
- Returns
-
ReadableStream
A readable stream that emits Sink instances.
Example
const {Logging} = require('@google-cloud/logging');
const logging = new Logging();
logging.getSinksStream()
.on('error', console.error)
.on('data', sink => {
// `sink` is a Sink object.
})
.on('end', function() {
// All sinks retrieved.
});
//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
logging.getSinksStream()
.on('data', function(sink) {
this.end();
});
log
log(name, options) returns Log
Get a reference to a Stackdriver Logging log.
Parameter |
|||||
---|---|---|---|---|---|
name |
string Name of the existing log. |
||||
options |
Optional object Configuration object. Values in
|
- See also
- Returns
Example
const {Logging} = require('@google-cloud/logging');
const logging = new Logging();
const log = logging.log('my-log');
request
request(config, callback)
Funnel all API requests through this method, to be sure we have a project ID.
Parameter |
|||||||||
---|---|---|---|---|---|---|---|---|---|
config |
object Configuration object. Values in
|
||||||||
callback |
Optional function() Callback function. |
sink
sink(name) returns Sink
Get a reference to a Stackdriver Logging sink.
Parameter |
|
---|---|
name |
string Name of the existing sink. |
- See also
- Returns
Example
const {Logging} = require('@google-cloud/logging');
const logging = new Logging();
const sink = logging.sink('my-sink');