在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');
});
這只是一個簡單的示例,你可以根據自己的需求調整日志級別、格式和輸出目標。在實際生產環境中,你可能還需要考慮將日志發送到遠程服務器或使用集中式日志管理系統。