Created
June 16, 2018 06:54
-
-
Save steren/5143d224cb64291118ecbde255eadab6 to your computer and use it in GitHub Desktop.
Extracting trace from header and sending to Logs for correlation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const express = require('express'); | |
const app = express(); | |
const bunyan = require('bunyan'); | |
const {LoggingBunyan} = require('@google-cloud/logging-bunyan'); | |
const loggingBunyan = new LoggingBunyan(); | |
const project = 'steren-test'; | |
const logger = bunyan.createLogger({ | |
name: 'app', | |
level: 'info', | |
streams: [ | |
{stream: process.stdout}, | |
loggingBunyan.stream(), | |
], | |
}); | |
app.get('/', (req, res) => { | |
const traceHeader = req && req.headers ? req.headers['x-cloud-trace-context'] || '' : ''; | |
const traceId = traceHeader ? traceHeader.split('/')[0] : ''; | |
logger.info(`traceid: ${traceId}`); | |
logger.info({ | |
'logging.googleapis.com/trace': `projects/${project}/traces/${traceId}` | |
}, 'good trace?'); | |
res.send('Bunyan'); | |
}); | |
const server = app.listen(process.env.PORT || 8080, () => { | |
const host = server.address().address; | |
const port = server.address().port; | |
console.log(`Example app listening at http://${host}:${port}`); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment