triathlon-logging
Version:
A global logging library for the Triathlon system.
48 lines (42 loc) • 1.11 kB
JavaScript
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 };