在Debian環境下高效管理JavaScript(JS)日志,可以采用以下幾種方法和工具:
sudo apt update
sudo apt install nodejs npm
sudo npm install winston
const winston = require('winston');
// 創建一個winston日志記錄器
const logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
transports: [
new winston.transports.File({ filename: '/var/log/nodejs_system.log', level: 'info' }),
],
});
// 示例日志記錄
logger.info('This is an info message');
logger.error('This is an error message');
nohup
命令:nohup node /path/to/your_script.js &
journalctl
是systemd的日志系統命令行工具,可以顯示所有服務的日志,并根據時間范圍、優先級等條件過濾日志:sudo journalctl -b # 查看最近的系統啟動日志
sudo journalctl -u 服務名稱 # 查看某個特定服務的日志
sudo journalctl --since "2021-01-01" --until "2021-01-31" # 查看某個特定時間范圍內的日志
sudo tail -f /var/log/syslog # 實時查看系統日志的最后幾行
gnome-system-log
。ksystemlog
。sudo apt update
sudo apt install graylog-server graylog-database
/var/log/apache2
或/var/log/nginx
目錄中。Node.js應用程序的日志文件可能位于其根目錄或指定的日志目錄。truncate
命令清空日志文件:
對于Apache和Nginx:sudo truncate -s 0 /var/log/apache2/access.log
sudo truncate -s 0 /var/log/apache2/error.log
對于Nginx:
sudo truncate -s 0 /var/log/nginx/access.log
sudo truncate -s 0 /var/log/nginx/error.log
logrotate
以自動清理日志:
編輯/etc/logrotate.conf
文件或創建一個新的配置文件(例如/etc/logrotate.d/myapp
),并添加以下內容:/path/to/your/nodejs/logs/*.log {
daily
rotate 7
compress
missingok
notifempty
create 0640 root adm
}