UNPKG

@gabriel3615/ta_analysis

Version:

stock ta analysis

56 lines (55 loc) 1.51 kB
export class Logger { constructor(options) { this.level = options.level; this.prefix = options.prefix; } setLevel(level) { this.level = level; } fmt(msg) { if (!this.prefix) return msg; if (typeof msg === 'string') return `${this.prefix} ${msg}`; return msg; } log(...args) { if (this.level === 'silent') return; // normal 与 verbose 都输出 log console.log(...args.map(a => this.fmt(a))); } info(...args) { if (this.level === 'silent') return; console.log(...args.map(a => this.fmt(a))); } verbose(...args) { if (this.level !== 'verbose') return; console.log(...args.map(a => this.fmt(a))); } warn(...args) { if (this.level === 'silent') return; console.warn(...args.map(a => this.fmt(a))); } error(...args) { console.error(...args.map(a => this.fmt(a))); } } export function createLogger(level = 'normal', prefix) { return new Logger({ level, prefix }); } function readEnvLevel() { const raw = (process.env.TA_LOG_LEVEL || process.env.LOG_LEVEL || '').toLowerCase(); if (raw === 'silent' || raw === 'normal' || raw === 'verbose') return raw; return 'normal'; } export const globalLogger = createLogger(readEnvLevel(), '[TA]'); export function setGlobalLogLevel(level) { globalLogger.setLevel(level); }