35 lines
773 B
TypeScript
35 lines
773 B
TypeScript
import fs from "fs";
|
|
|
|
class Logger {
|
|
private filePath: string;
|
|
|
|
constructor(filePath: string = "/logs/app.log") {
|
|
this.filePath = filePath;
|
|
}
|
|
|
|
private log(level: string, message: string, params?: object) {
|
|
const logEntry = {
|
|
timestamp: new Date().toISOString(),
|
|
level: level,
|
|
message: message,
|
|
params: params,
|
|
};
|
|
fs.appendFile(this.filePath, JSON.stringify(logEntry) + "\n", (err) => {
|
|
if (err) throw err;
|
|
});
|
|
}
|
|
|
|
info(message: string, params: object = {}) {
|
|
this.log("info", message, params);
|
|
}
|
|
|
|
warn(message: string, params: object = {}) {
|
|
this.log("warn", message, params);
|
|
}
|
|
|
|
error(message: string, params: object = {}) {
|
|
this.log("error", message, params);
|
|
}
|
|
}
|
|
|
|
export default Logger;
|