通过JavaScript日志提升系统稳定性是一个重要的实践,它可以帮助开发者识别和解决潜在的问题。以下是一些关键步骤和最佳实践:
log4js, winston, morgan 等。debug, info, warn, error)。ELK Stack (Elasticsearch, Logstash, Kibana) 或 Splunk 实时监控日志。window.onerror 或 window.addEventListener('unhandledrejection', ...) 捕获未处理的异常。Lighthouse, WebPageTest 等。以下是一个简单的示例,展示如何使用 winston 记录日志:
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' }),
],
});
// 捕获未处理的异常
window.onerror = function (message, source, lineno, colno, error) {
logger.error(`Caught exception: ${message}`, { source, lineno, colno, error });
};
// 捕获未处理的Promise拒绝
window.addEventListener('unhandledrejection', event => {
logger.error(`Unhandled rejection: ${event.reason}`);
});
// 记录关键事件
logger.info('Application started');
logger.warn('Deprecated feature used');
logger.error('Database connection failed');
通过上述步骤和最佳实践,你可以有效地利用JavaScript日志来提升系统的稳定性和可靠性。