UNPKG

dicomweb-proxy

Version:

A proxy to translate between dicomweb and dimse

35 lines (29 loc) 1.13 kB
import SimpleLogger from 'simple-node-logger'; import shell from 'shelljs'; import { ConfParams, config } from './config'; export class LoggerSingleton { private static _instance: LoggerSingleton; private logger: SimpleLogger.Logger; private constructor() { // make sure default directories exist const logDir = config.get(ConfParams.LOG_DIR) as string; shell.mkdir('-p', logDir); shell.mkdir('-p', config.get(ConfParams.LOG_DIR)); // create a rolling file logger based on date/time that fires process events const opts = { errorEventName: 'error', logDirectory: logDir, // NOTE: folder must exist and be writable... fileNamePattern: 'roll-<DATE>.log', dateFormat: 'YYYY.MM.DD', }; const manager = SimpleLogger.createLogManager(); // manager.createConsoleAppender(); manager.createRollingFileAppender(opts); this.logger = manager.createLogger(); } public static get Instance() { // Do you need arguments? Make it a regular static method instead. const inst = this._instance || (this._instance = new this()); return inst.logger; } }