ravendb
Version:
RavenDB client for Node.js
46 lines • 1.41 kB
JavaScript
import { debuglog } from "node:util";
const isDebug = process.env.NODE_ENV !== "production";
export function getLogger({ name = "ravendb", module = "" }) {
const logName = module ? `${name}-${module}` : name;
if (!isDebug) {
// eslint-disable-next-line @typescript-eslint/no-empty-function
const noop = (msg) => {
// empty
};
return {
error: noop,
info: noop,
warn: noop
};
}
return new Logger(logName);
}
class Logger {
_logdebug;
constructor(name) {
this._logdebug = debuglog(name);
}
error(errOrMsg, additionalMsg) {
this._logWithError(errOrMsg, additionalMsg, "ERROR");
}
warn(errOrMsg, additionalMsg) {
this._logWithError(errOrMsg, additionalMsg, "WARN");
}
info(msg) {
this._log(`${msg}`, "INFO");
}
_logWithError(err, additionalMsg, level) {
let msg = err?.toString();
if (additionalMsg) {
msg = `${additionalMsg} ${msg}`;
}
this._log(`${msg}`, level);
}
_log(msg, level = "INFO") {
const now = new Date();
const dateString = `${now.getFullYear()}-${now.getMonth()}-${now.getDate()}`
+ ` ${now.getHours()}:${now.getMinutes()}:${now.getSeconds()}`;
this._logdebug(`${dateString}|${level}: ${msg}`);
}
}
//# sourceMappingURL=LogUtil.js.map