在Linux环境下管理JavaScript(Node.js)日志,通常需要考虑以下几个方面:日志的生成、存储、监控和清理。以下是一些常用的工具和方法:
Winston:
npm install winston
const winston = require('winston');
const logger = winston.createLogger({
level: 'info',
format: winston.format.combine(
winston.format.colorize(),
winston.format.simple()
),
transports: [
new winston.transports.Console(),
new winston.transports.File({ filename: 'app.log' })
]
});
logger.info('This is an info log.');
logger.warn('This is a warning log.');
logger.error('This is an error log.');
Bunyan:
npm install bunyan
const bunyan = require('bunyan');
const logger = bunyan.createLogger({
name: 'myapp',
streams: [
{ level: 'info', stream: process.stdout },
{ level: 'error', path: 'app-error.log' }
]
});
logger.info('This is an info log.');
logger.warn('This is a warning log.');
logger.error('This is an error log.');
TSLog:
npm install tslog
import { TSLog, LogLevel } from 'tslog';
const log = new TSLog({
displayInstanceName: true,
displayDateTime: true,
displayFilePath: 'file-name-only',
displayFunctionName: false
});
log.info('Hello, TSLog!');
log.log(LogLevel.Debug, 'This is a debug message.');
log.warn('Warning: Something may go wrong...');
log.error(new Error('Oops, something is broken!'));
logrotate:
/var/log/nodeapp/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 644 root root
sharedscripts
postrotate
[ ! -f /var/run/nodeapp.pid ] || kill -USR1 `cat /var/run/nodeapp.pid`
endscript
}
journalctl:
journalctl -u nodeapp
journalctl -f -u nodeapp
通过以上工具和方法,可以有效地管理和分析Node.js应用在Linux环境下的日志,确保系统的稳定性和可维护性。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: Linux系统日志查看权限如何设置