linux

Linux JS日志级别设置指南

小樊
42
2025-07-28 13:26:33
栏目: 编程语言

在Linux环境下设置JavaScript应用的日志级别可以通过多种方式实现,具体取决于你使用的日志框架和运行环境。以下是几种常见情况的设置方法:

使用Node.js内置console模块

Node.js内置的console模块提供不同级别的日志输出:

要控制输出级别,可以创建自定义logger或使用环境变量过滤:

const logLevel = process.env.LOG_LEVEL || 'info';
function log(level, ...args) {
  const levels = ['error', 'warn', 'info', 'debug'];
  if (levels.indexOf(level) <= levels.indexOf(logLevel)) {
    console[level](...args);
  }
}

使用Winston日志库

Winston是Node.js中流行的日志库,支持多级别日志:

const winston = require('winston');
const logger = winston.createLogger({
  level: 'info', // 默认级别
  transports: [
    new winston.transports.Console({
      format: winston.format.simple()
    })
  ]
});

// 通过环境变量设置级别
logger.level = process.env.LOG_LEVEL || 'info';

// 使用不同级别
logger.error('错误信息');
logger.warn('警告信息');
logger.info('普通信息');
logger.debug('调试信息');

使用Bunyan日志库

Bunyan是另一个流行的结构化日志库:

const bunyan = require('bunyan');
const logger = bunyan.createLogger({
  name: 'myapp',
  level: process.env.LOG_LEVEL || 'info'
});

logger.error('错误信息');
logger.warn('警告信息');
logger.info('普通信息');
logger.debug('调试信息');

浏览器环境中的日志级别

对于浏览器端的JavaScript,可以使用以下方法:

// 根据环境变量设置日志级别
const LOG_LEVEL = process.env.LOG_LEVEL || 'info';
const logger = {
  error: (...args) => LOG_LEVEL >= 'error' && console.error(...args),
  warn: (...args) => LOG_LEVEL >= 'warn' && console.warn(...args),
  info: (...args) => LOG_LEVEL >= 'info' && console.info(...args),
  debug: (...args) => LOG_LEVEL >= 'debug' && console.debug(...args)
};

通过环境变量设置日志级别

在Linux中运行应用时,可以通过环境变量设置日志级别:

# 设置日志级别为 debug
LOG_LEVEL=debug node app.js
# 或者导出环境变量
export LOG_LEVEL=warn
node app.js

日志级别说明

常见的日志级别从高到低包括:

生产环境建议

在生产环境中,建议:

希望这些信息能帮助你设置和管理JavaScript应用的日志级别。

0
看了该问题的人还看了