@ fastify/ 一行浏览器
@fastify/one-line-logger 帮助您将 setify 的日志格式化为很好的一行消息 :
YYYY-MM-dd HH:mm:ss.SSSTZ - <level> - <method> <route path> - <message>
标准收到的请求日志行如下:
{"level": 30,"time": 1660151282194,"pid": 1557,"hostname": "foo","reqId": "req-1","req": {"method": "GET","url": "/path","hostname": "localhost:8080","remoteAddress": "127.0.0.1"},"msg": "incoming request"}
将格式化为:
2022-08-11 01:08:02.194+0100 - info - GET / - incoming request
安装
npm i @fastify/one-line-logger
开始
const server = fastify({
logger: {
transport: {
target: "@fastify/one-line-logger",
},
},
});
颜色
在支持时默认启用颜色 。 要手动禁用设置所需的颜色 transport.colorize 选项到 false选项 colorette 文档。 。 。 .
const server = fastify({
logger: {
transport: {
target: "@fastify/one-line-logger",
colorize: false,
},
},
});
自定义级别
自定义级别可以通过传递到日志选择中来使用
const server = fastify({
logger: {
transport: {
target: "@fastify/one-line-logger",
},
customLevels: {
foo: 35,
bar: 45,
},
},
});
server.get("/", (request, reply) => {
request.log.info("time to foobar");
request.log.foo("FOO!");
request.log.bar("BAR!");
reply.send({ foobar: true });
});
自定义级别颜色
自定义级别颜色可以通过传递到日志选择中来使用. 它们也可以覆盖默认关卡的颜色. 检查所有支持的颜色 这里。 。 。 .
const server = fastify({
logger: {
transport: {
target: "@fastify/one-line-logger",
options: {
colors: {
35: "bgYellow",
45: "magenta",
60: "bgRedBright" // overwriting the `fatal` log color
}
}
},
customLevels: {
foo: 35,
bar: 45,
},
},
});
server.get("/", (request, reply) => {
request.log.fatal("An error occurred");
request.log.foo("FOO!");
request.log.bar("BAR!");
reply.send({ foobar: true });
});
仅限时间格式
仅输出没有日期和时区的时间 :
const server = fastify({
logger: {
transport: {
target: "@fastify/one-line-logger",
options: { timeOnly: true }
}
}
});
输出 : 01:08:02.194 - info - GET / - incoming request
自定义时间格式
使用 customTimeFormat 选项 日期格式 样式 :
const server = fastify({
logger: {
transport: {
target: "@fastify/one-line-logger",
options: { customTimeFormat: "HH:MM:ss" }
}
}
});
常见模式 :
"HH:MM:ss"→01:08:02"yyyy-mm-dd HH:MM:ss"→2022-08-11 01:08:02"isoDateTime"→2022-08-11T01:08:02+0100
说明: timeOnly 财务报告和审定财务报表 customTimeFormat 它们是相互排斥的,不能一起使用.
许可证
许可证根据 麻省理工学院。 。 。 .