在 Debian 系統中,JS(JavaScript)應用程序的日志級別通常由應用程序本身或使用的日志庫來控制。以下是一些常見的方法來設置 JS 日志級別:
console.log
或其他日志庫如果你使用的是 Node.js 或其他支持 console.log
的 JavaScript 運行時,你可以通過調整日志輸出的詳細程度來控制日志級別。
// 設置日志級別為 'info'
console.log = function(message) {
if (message.level <= 'info') {
console.error(`[${new Date().toISOString()}] [INFO] ${message.content}`);
}
};
// 設置日志級別為 'debug'
console.log = function(message) {
if (message.level <= 'debug') {
console.error(`[${new Date().toISOString()}] [DEBUG] ${message.content}`);
}
};
// 使用示例
console.log({ level: 'info', content: 'This is an info message' });
console.log({ level: 'debug', content: 'This is a debug message' });
許多 JavaScript 應用程序使用第三方日志庫,如 winston
、log4js
或 morgan
。這些庫通常提供更靈活的日志級別設置。
const winston = require('winston');
const logger = winston.createLogger({
level: 'info', // 設置默認日志級別
format: winston.format.json(),
transports: [
new winston.transports.Console(),
new winston.transports.File({ filename: 'error.log', level: 'error' }),
new winston.transports.File({ filename: 'combined.log' }),
],
});
// 設置特定模塊的日志級別
logger.level = 'debug';
logger.modules = {
transport: 'debug',
};
const log4js = require('log4js');
log4js.configure({
appenders: { out: { type: 'stdout' } },
categories: {
default: { appenders: ['out'], level: 'info' },
debug: { appenders: ['out'], level: 'debug' },
},
});
const logger = log4js.getLogger();
// 設置特定模塊的日志級別
logger.setLevel('debug');
一些應用程序允許通過配置文件來設置日志級別。例如,如果你使用的是 pm2
來管理 Node.js 應用程序,你可以在 ecosystem.config.js
文件中設置日志級別。
module.exports = {
apps: [
{
name: 'my-app',
script: './app.js',
env: {
NODE_ENV: 'development',
},
env_production: {
NODE_ENV: 'production',
},
log_level: 'info', // 設置日志級別
},
],
};
設置 JS 日志級別的方法取決于你使用的 JavaScript 運行時和日志庫。通過調整日志輸出函數、使用日志庫提供的配置選項或通過配置文件,你可以靈活地控制日志的詳細程度。