UNPKG

@rdfc/sds-storage-writer-ts

Version:

An RDF-Connect processor to write SDS streams into a given storage system

36 lines (35 loc) 1.28 kB
import winston, { format } from "winston"; const PROCESSOR_NAME = "sds-storage-writer-ts"; const consoleTransport = new winston.transports.Console(); consoleTransport.level = process.env.LOG_LEVEL || process.env.DEBUG?.includes(PROCESSOR_NAME) || process.env.DEBUG === "*" ? "debug" : "info"; const classLoggers = new WeakMap(); export function getLoggerFor(loggable) { let logger; if (typeof loggable === "string") { logger = createLogger(loggable); } else { const { constructor } = loggable; if (classLoggers.has(loggable)) { logger = classLoggers.get(loggable); } else { logger = createLogger(constructor.name); classLoggers.set(loggable, logger); } } return logger; } function createLogger(label) { return winston.createLogger({ format: format.combine(format.label({ label }), format.colorize(), format.timestamp(), format.metadata({ fillExcept: ["level", "timestamp", "label", "message"], }), format.printf(({ level: levelInner, message, label: labelInner, timestamp, }) => `${timestamp} {${PROCESSOR_NAME}} [${labelInner}] ${levelInner}: ${message}`)), transports: [consoleTransport], }); }