在 Debian 系统中,如果你想要自定义 JavaScript(JS)应用程序的日志格式,通常这取决于你使用的日志库或者框架。以下是一些常见的方法和步骤来自定义 JS 日志格式:
使用日志库:
如果你的应用程序使用了一个日志库(例如 winston
、log4js
、morgan
等),你可以查阅该库的文档来了解如何自定义日志格式。
Winston 示例:
const winston = require('winston');
const logger = winston.createLogger({
format: winston.format.combine(
winston.format.timestamp({
format: 'YYYY-MM-DD HH:mm:ss'
}),
winston.format.printf(({ timestamp, level, message }) => {
return `${timestamp} ${level}: ${message}`;
})
),
transports: [
new winston.transports.Console(),
new winston.transports.File({ filename: 'error.log', level: 'error' }),
new winston.transports.File({ filename: 'combined.log' })
]
});
logger.info('Hello, world!');
Log4js 示例:
const log4js = require('log4js');
log4js.configure({
appenders: {
out: { type: 'stdout', layout: { type: 'pattern', pattern: '%d{yyyy-MM-dd HH:mm:ss} [%p] %c: %m%n' } }
},
categories: {
default: { appenders: ['out'], level: 'info' }
}
});
const logger = log4js.getLogger();
logger.info('Hello, world!');
使用原生 console
对象:
如果你只是想简单地自定义控制台输出的格式,可以使用 JavaScript 的 console
对象结合模板字符串来实现。
function logCustom(level, message) {
const timestamp = new Date().toISOString().replace('T', ' ').substring(0, 19);
console.log(`[${timestamp}] [${level.toUpperCase()}]: ${message}`);
}
logCustom('info', 'Hello, world!');
配置 Web 服务器日志: 如果你是在 Debian 上运行一个基于 Node.js 的 Web 服务器(例如 Express),并且想要自定义服务器日志格式,可以使用中间件来实现。
const express = require('express');
const morgan = require('morgan');
const app = express();
morgan.token('customFormat', (req, res) => {
return `${req.method} ${req.url} - ${res.statusCode}`;
});
app.use(morgan('customFormat'));
app.get('/', (req, res) => {
res.send('Hello, world!');
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
通过以上方法,你可以根据自己的需求自定义 JavaScript 应用程序的日志格式。记得根据你使用的具体库或框架查阅相关文档,以获得更详细的配置选项和示例。