@lorefnon/tslog
Version:
Extensible TypeScript Logger for Node.js and Browser.
43 lines (42 loc) • 1.5 kB
JavaScript
import { BaseLogger } from "./BaseLogger.js";
export * from "./interfaces.js";
export * from "./BaseLogger.js";
export class Logger extends BaseLogger {
constructor(settings, logObj) {
const isBrowser = ![typeof window, typeof document].includes("undefined");
const isBrowserBlinkEngine = isBrowser
? ((window?.["chrome"] || (window.Intl && Intl?.v8BreakIterator)) && "CSS" in window) != null
: false;
const isSafari = isBrowser ? /^((?!chrome|android).)*safari/i.test(navigator.userAgent) : false;
settings = settings || {};
settings.stylePrettyLogs = settings.stylePrettyLogs && isBrowser && !isBrowserBlinkEngine ? false : settings.stylePrettyLogs;
super(settings, logObj, isSafari ? 4 : 5);
}
log(logLevelId, logLevelName, ...args) {
return super.log(logLevelId, logLevelName, ...args);
}
silly(...args) {
return super.log(0, "SILLY", ...args);
}
trace(...args) {
return super.log(1, "TRACE", ...args);
}
debug(...args) {
return super.log(2, "DEBUG", ...args);
}
info(...args) {
return super.log(3, "INFO", ...args);
}
warn(...args) {
return super.log(4, "WARN", ...args);
}
error(...args) {
return super.log(5, "ERROR", ...args);
}
fatal(...args) {
return super.log(6, "FATAL", ...args);
}
getSubLogger(settings, logObj) {
return super.getSubLogger(settings, logObj);
}
}