@kyve/core
Version:
🚀 The base KYVE node implementation.
35 lines (28 loc) • 791 B
text/typescript
import { Node } from "..";
import { appendFileSync, existsSync, mkdirSync } from "fs";
import { ILogObject, Logger } from "tslog";
export function setupLogger(this: Node): Logger {
if (!existsSync("./logs")) {
mkdirSync("./logs");
}
const logToTransport = (log: ILogObject) => {
appendFileSync(`./logs/${this.name}.txt`, JSON.stringify(log) + "\n");
};
const logger = new Logger({
displayFilePath: "hidden",
displayFunctionName: false,
});
logger.setSettings({
minLevel: this.verbose ? undefined : "info",
});
logger.attachTransport({
silly: logToTransport,
debug: logToTransport,
trace: logToTransport,
info: logToTransport,
warn: logToTransport,
error: logToTransport,
fatal: logToTransport,
});
return logger;
}