在 Linux 环境下,“JS 日志格式怎么改”通常分几种情况,我分别说明,你看看你属于哪一种。
如果你是指 JavaScript 代码里的 console 日志格式,常见做法:
console.log 输出格式console.log(`[${new Date().toISOString()}] [INFO] 用户登录:`, userId);
function log(level, msg, data) {
const time = new Date().toISOString();
console.log(`[${time}] [${level}] ${msg}`, data || '');
}
log('ERROR', '接口失败', { code: 500 });
winstonpinolog4js示例(log4js):
const log4js = require('log4js');
log4js.configure({
appenders: { out: { type: 'stdout' } },
categories: { default: { appenders: ['out'], level: 'info' } }
});
const logger = log4js.getLogger();
logger.info('这是标准格式日志');
const winston = require('winston');
const logger = winston.createLogger({
format: winston.format.combine(
winston.format.timestamp(),
winston.format.printf(({ timestamp, level, message }) => {
return `${timestamp} [${level}] ${message}`;
})
),
transports: [new winston.transports.Console()]
});
logger.info('服务启动');
输出示例:
2026-01-15T10:00:00.000Z [info] 服务启动
如果你是把 JS 程序跑在 Linux 上(如 PM2、systemd),日志格式由程序本身决定,但你可以:
pm2 logs
格式由 JS 代码控制,PM2 只负责收集。
journalctl -u your-js-service
日志格式由 systemd 控制,可改:
# /etc/systemd/journald.conf
ForwardToSyslog=yes
console.log(JSON.stringify({
time: new Date(),
level: 'info',
msg: '请求成功'
}));
[时间] [级别] 内容
我可以直接给你一份可复制的配置。