在CentOS环境下,使用JavaScript进行日志记录时,通常需要记录以下关键信息:
时间戳:记录事件发生的时间,以便于追踪和定位问题。可以使用Date.now()或new Date().toISOString()生成时间戳。
日志级别:表示日志的严重程度,如:错误(ERROR)、警告(WARN)、信息(INFO)和调试(DEBUG)等。
消息:描述事件的具体信息,如错误详情、警告原因等。
上下文信息:记录与事件相关的上下文信息,如请求ID、用户ID、IP地址等,有助于分析问题原因。
堆栈跟踪:当发生错误时,记录错误的堆栈跟踪信息,有助于定位问题。
性能指标:记录关键操作的耗时,如数据库查询时间、API响应时间等,以便于优化性能。
在Node.js环境中,可以使用内置的console对象进行日志记录,或者使用第三方日志库(如winston、bunyan等)来更灵活地管理日志。在浏览器端,可以使用console.log()、console.error()等方法进行日志记录。
以下是一个简单的Node.js日志记录示例:
const winston = require('winston');
const logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
transports: [
new winston.transports.File({ filename: 'error.log', level: 'error' }),
new winston.transports.File({ filename: 'combined.log' })
]
});
// 记录不同级别的日志
logger.debug('This is a debug message');
logger.info('This is an info message');
logger.warn('This is a warning message');
logger.error('This is an error message');
// 记录带有上下文信息的日志
logger.info('User %s logged in', userId);
// 记录带有堆栈跟踪的错误日志
try {
// Some code that may throw an error
} catch (error) {
logger.error(error.stack);
}
在实际项目中,可以根据需求调整日志级别、格式和输出方式。