在Ubuntu上設置Node.js應用程序的日志可以通過多種方式實現,以下是一些常見的方法:
console.log
最簡單的方法是使用Node.js內置的console.log
方法來記錄日志。這種方法適用于開發和調試階段。
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
console.log('Request received at', new Date());
res.send('Hello World!');
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}/`);
});
winston
日志庫winston
是一個流行的Node.js日志庫,提供了多種傳輸方式(如文件、控制臺、HTTP等)。
winston
:npm install winston
logger.js
):const { createLogger, format, transports } = require('winston');
const logger = createLogger({
level: 'info',
format: format.combine(
format.timestamp(),
format.json()
),
transports: [
new transports.File({ filename: 'error.log', level: 'error' }),
new transports.File({ filename: 'combined.log' })
]
});
if (process.env.NODE_ENV !== 'production') {
logger.add(new transports.Console({
format: format.simple()
}));
}
module.exports = logger;
winston
:const express = require('express');
const logger = require('./logger');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
logger.info('Request received at', new Date());
res.send('Hello World!');
});
app.listen(port, () => {
logger.info(`Server running at http://localhost:${port}/`);
});
morgan
日志中間件morgan
是一個HTTP請求記錄中間件,適用于Express應用程序。
morgan
:npm install morgan
morgan
:const express = require('express');
const morgan = require('morgan');
const app = express();
const port = 3000;
app.use(morgan('combined'));
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}/`);
});
pm2
進行進程管理pm2
是一個進程管理器,可以自動重啟應用程序,并提供日志管理功能。
pm2
:npm install pm2 -g
pm2
管理:pm2 start app.js --name my-app
pm2 logs my-app
通過這些方法,你可以在Ubuntu上有效地設置和管理Node.js應用程序的日志。選擇哪種方法取決于你的具體需求和應用場景。