主题
winston 日志记录与 nest 结合
winston 体验
单纯使用 winston 来为 Nodejs 程序记录日志,没有额外的任何框架或者库
js
const winston = require("winston");
const logger = winston.createLogger({
level: "info",
format: winston.format.json(),
defaultMeta: { service: "user-service" },
transports: [
new winston.transports.File({ filename: "error.log", level: "error" }),
new winston.transports.File({ filename: "combined.log" }),
],
});
if (process.env.NODE_ENV !== "production") {
logger.add(
new winston.transports.Console({
format: winston.format.simple(),
})
);
}
// 输出
logger.info("-----info");
logger.warn("-----warn");
logger.error("-----error");运行上述 js 代码,会生成 error.log和combined.log文件,并且在控制台输出 三行结果(上述输出的结果)
控制台输出
txt
info: -----info {"service":"user-service"}
warn: -----warn {"service":"user-service"}
error: -----error {"service":"user-service"}combined.log内容(errro.log格式类似,但内容不一样,仅包含error)
txt
{"level":"info","message":"-----info","service":"user-service"}
{"level":"warn","message":"-----warn","service":"user-service"}
{"level":"error","message":"-----error","service":"user-service"}