UNPKG

triathlon-logging

Version:

A global logging library for the Triathlon system.

48 lines (42 loc) 1.11 kB
const pino = require('pino'); const path = require('node:path'); const os = require('node:os'); let transport; if (process.env.TRIATHLON_LOGGER_URI != null) { transport = pino.transport({ targets: [ { target: 'pino-mongodb', options: { uri: process.env.TRIATHLON_LOGGER_URI, database: 'log', collection: 'logs', mongoOptions: { } } }, { target: './pino-pretty-transport', options: { translateTime: "SYS:m/d/yyyy, h:MM:ss.l TT", }, } ], }) } else { transport = pino.transport({ target: './pino-pretty-transport', options: { translateTime: "SYS:m/d/yyyy, h:MM:ss.l TT", }, }) } var logger = pino( { name: __filename.slice(__dirname.length + 1), timestamp: () => `,"timestamp":"${new Date(Date.now()).toISOString()}"`, level: process.env.LOG_LEVEL || 'trace', base: {pid: process.pid, hostname: (process.env.KUBERNETES_SERVICE_HOST != null) ? os.hostname() : path.basename(__dirname)}, }, transport ); module.exports = { logger };