后端服务将通过tjwater-cli形式访问
This commit is contained in:
@@ -2,14 +2,40 @@ import pino from "pino";
|
||||
|
||||
import { config } from "./config.js";
|
||||
|
||||
const pad = (value: number) => value.toString().padStart(2, "0");
|
||||
|
||||
const padMilliseconds = (value: number) => value.toString().padStart(3, "0");
|
||||
|
||||
const formatLocalTimestamp = (date: Date) => {
|
||||
const year = date.getFullYear();
|
||||
const month = pad(date.getMonth() + 1);
|
||||
const day = pad(date.getDate());
|
||||
const hours = pad(date.getHours());
|
||||
const minutes = pad(date.getMinutes());
|
||||
const seconds = pad(date.getSeconds());
|
||||
const milliseconds = padMilliseconds(date.getMilliseconds());
|
||||
const offsetMinutes = -date.getTimezoneOffset();
|
||||
const sign = offsetMinutes >= 0 ? "+" : "-";
|
||||
const absoluteOffsetMinutes = Math.abs(offsetMinutes);
|
||||
const offsetHours = pad(Math.floor(absoluteOffsetMinutes / 60));
|
||||
const offsetRemainderMinutes = pad(absoluteOffsetMinutes % 60);
|
||||
|
||||
return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${milliseconds}${sign}${offsetHours}:${offsetRemainderMinutes}`;
|
||||
};
|
||||
|
||||
export const logger = pino({
|
||||
level: config.LOG_LEVEL,
|
||||
formatters: {
|
||||
level: (label) => ({ level: label }),
|
||||
},
|
||||
timestamp: () => `,"time":"${formatLocalTimestamp(new Date())}"`,
|
||||
transport:
|
||||
config.NODE_ENV === "development"
|
||||
? {
|
||||
target: "pino-pretty",
|
||||
options: {
|
||||
colorize: true,
|
||||
translateTime: "SYS:yyyy-mm-dd HH:MM:ss.l o",
|
||||
},
|
||||
}
|
||||
: undefined,
|
||||
|
||||
Reference in New Issue
Block a user