Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
gc-json-logger
Advanced tools
Log JSON entries to stdout/stderr to be queried in Google Cloud Monitoring
Allows printing logs to stdout
, stderr
for further action in Google Cloud platform. Given that log agent ingests logs from stdout
streams when running in GKE.
npm install --save gc-json-logger
yarn add gc-json-logger
const { Logger } = require('gc-json-logger');
const { createServer } = require('http');
let job = 0;
function scheduleJob() {
/**
* 4) Retrieving a context logger
*/
const logger = Logger.getLogger();
/**
* 5) Logs with job id from the parent
*/
logger.info('scheduling job');
setTimeout(() => {
/**
* 6) Logs with job id from the parent
*/
logger.info('job done');
}, 3000);
}
const server = createServer((_, res) => {
job++;
/**
* 1) Setting a context logger using job id
*/
const logger = new Logger(job);
Logger.runWith(logger, () => {
/**
* 2) Logs with with job id
*/
logger.info('creating a new job');
/**
* 3) Calls another function that uses the context
*/
scheduleJob();
res.setHeader('content-type', 'application/json');
res.end(JSON.stringify({ id: job, status: 'scheduled' }));
});
});
server.listen(8080);
{
"severity": "INFO",
"time": "2022-12-03T10:00:00.000Z",
"message": "creating a new job",
"logging.googleapis.com/operation": { "id": 1 } // <- always includes context id
}
{
"severity": "INFO",
"time": "2022-12-03T10:00:00.398Z",
"message": "scheduling job",
"logging.googleapis.com/operation": { "id": 1 } // <- always includes context id
}
{
"severity": "INFO",
"time": "2022-12-03T10:00:01.000Z",
"message": "job done",
"logging.googleapis.com/operation": { "id": 1 } // <- always includes context id
}
The various logging methods (debug
, info
, notice
, etc.) require two parameters. The first parameter is intended for a human-readable string, while the second parameter captures context (such as JSON objects with circular references).
Example of incorrect use: :x:
this.logger.log(Severity.DEBUG, JSON.stringify(someObject));
Example of correct use: :white_check_mark:
this.logger.debug('received tickets', someObject);
FAQs
Log JSON entries to stdout/stderr to be queried in Google Cloud Monitoring
We found that gc-json-logger demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.