在Ubuntu上設置Node.js的日志級別通常涉及到配置Node.js應用程序本身的日志設置,而不是直接通過系統級別來設置。以下是一些常見的Node.js日志庫以及如何在應用程序中設置日志級別的方法:
Winston是一個流行的Node.js日志庫,可以通過簡單的配置來設置日志級別。以下是一個基本的例子:
const winston = require('winston');
// 創建一個logger實例
const logger = winston.createLogger({
level: 'info', // 設置日志級別
format: winston.format.json(),
transports: [
new winston.transports.Console(),
new winston.transports.File({ filename: 'combined.log' })
]
});
// 使用logger記錄不同級別的日志
logger.info('這是一條info級別的日志');
logger.error('這是一條error級別的日志');
Bunyan是另一個廣泛使用的Node.js日志庫,它的配置方式與Winston類似:
const bunyan = require('bunyan');
// 創建一個logger實例
const logger = bunyan.createLogger({
name: 'my-app',
level: 'info', // 設置日志級別
streams: [
{
level: 'info',
stream: process.stdout
},
{
level: 'error',
stream: new bunyan.FileLogger({ filename: 'error.log' })
}
]
});
// 使用logger記錄不同級別的日志
logger.info('這是一條info級別的日志');
logger.error('這是一條error級別的日志');
PM2是一個Node.js進程管理器,它可以幫助你管理Node.js應用程序的日志輸出。雖然PM2本身不直接提供日志級別的設置,但你可以通過配置PM2的日志管理功能來間接控制日志輸出:
# 使用PM2啟動應用程序,并設置日志文件
pm2 start app.js -o app.log
在這個例子中,-o
選項指定了日志文件的名稱,PM2會自動管理日志文件的輪轉和清理。