I needed a logger for my Cloudflare worker. So I created one using LogDNA’s api (free or super cheap logging client).
It logs a bunch of default values from the request and allows you to add custom meta data to the logs which are searchable on LogDNA.
Have a look and let me know what you think
Screenshots below (with a bunch of custom meta added via the logger, like errorMessage, errorCode, output, endpoint):
And graphs you can make using the custom meta data from the logger:
Example usage:
const logDnaLogger = require('./Logger')
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
/**
* Handle the request
*
* @param request
* @returns {Promise<Response>}
*/
async function handleRequest(request) {
const logger = new logDnaLogger(request)
try {
logger.setMeta('day', 'Monday')
logger.info('Request received')
throw new Error('Something went wrong')
} catch (e) {
logger.error(e.message)
} finally {
await logger.postRequest()
}
}