在Debian系统中,Node.js应用程序的日志配置取决于你使用的日志库。许多Node.js应用程序使用流行的日志库,如Winston、Bunyan或Morgan。以下是如何为这些库配置日志的一些建议。
Winston是一个灵活的日志库,允许你配置多个传输和格式。要配置Winston日志,请按照以下步骤操作:
npm install winstonlogger.js),并设置传输和格式:const { createLogger, format, transports } = require('winston');
const logger = createLogger({
level: 'info',
format: format.combine(
format.timestamp(),
format.printf(({ timestamp, level, message }) => {
return `${timestamp} ${level.toUpperCase()}: ${message}`;
})
),
transports: [
new transports.File({ filename: 'error.log', level: 'error' }),
new transports.File({ filename: 'combined.log' }),
],
});
module.exports = logger;
const logger = require('./logger');
logger.info('Hello, world!');
logger.error('An error occurred');
Bunyan是一个简单且易于使用的日志库,支持结构化日志。要配置Bunyan日志,请按照以下步骤操作:
npm install bunyanlogger.js),并设置日志级别和流:const bunyan = require('bunyan');
const logger = bunyan.createLogger({
name: 'my-app',
streams: [
{
level: 'info',
stream: process.stdout,
},
{
level: 'error',
path: 'error.log',
},
{
level: 'info',
path: 'combined.log',
},
],
});
module.exports = logger;
const logger = require('./logger');
logger.info('Hello, world!');
logger.error('An error occurred');
Morgan是一个HTTP请求日志中间件,适用于Express应用程序。要配置Morgan日志,请按照以下步骤操作:
npm install morganconst express = require('express');
const morgan = require('morgan');
const app = express();
// 配置Morgan日志格式
morgan.token('customFormat', (req, res) => {
return `${req.method} ${req.url} ${res.statusCode}`;
});
app.use(morgan('customFormat', { stream: { write: (message) => console.log(message.trim()) } }));
app.get('/', (req, res) => {
res.send('Hello, world!');
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
这只是一个简单的示例,你可以根据自己的需求调整日志级别、格式和输出目标。在实际生产环境中,你可能还需要考虑将日志发送到远程服务器或使用集中式日志管理系统。