温馨提示×

如何配置CentOS JS日志记录级别

小樊
36
2025-12-29 09:21:26
栏目: 编程语言

在CentOS系统中,JS(JavaScript)应用程序的日志记录级别通常由应用程序本身或使用的日志库来控制。以下是一些常见的方法来配置JS日志记录级别:

1. 使用Node.js内置的console模块

如果你使用的是Node.js应用程序,可以通过console模块来记录日志,并通过设置环境变量来控制日志级别。

// 设置环境变量来控制日志级别
process.env.LOG_LEVEL = 'debug'; // 可以是 'debug', 'info', 'warn', 'error'

// 在代码中使用console模块
console.debug('This is a debug message');
console.info('This is an info message');
console.warn('This is a warning message');
console.error('This is an error message');

2. 使用第三方日志库

许多Node.js应用程序使用第三方日志库,如winstonpinolog4js。这些库通常提供了更灵活的日志记录配置。

使用winston

const winston = require('winston');

// 配置winston日志记录器
const logger = winston.createLogger({
  level: process.env.LOG_LEVEL || 'info', // 默认日志级别为 '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
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');

使用log4js

const log4js = require('log4js');

// 配置log4js
log4js.configure({
  appenders: {
    out: { type: 'stdout' },
    error: { type: 'file', filename: 'error.log' },
    combined: { type: 'file', filename: 'combined.log' }
  },
  categories: {
    default: { appenders: ['out'], level: process.env.LOG_LEVEL || 'info' },
    error: { appenders: ['error'], level: 'error' },
    combined: { appenders: ['combined'], level: 'debug' }
  }
});

const logger = log4js.getLogger();

// 在代码中使用logger
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');

3. 配置Nginx或Apache

如果你通过Nginx或Apache反向代理你的Node.js应用程序,可以在这些Web服务器的配置文件中设置日志级别。

Nginx

http {
    log_level debug; # 可以是 debug, info, notice, warn, error, crit, alert, emerg

    server {
        listen 80;
        server_name example.com;

        location / {
            proxy_pass http://localhost:3000;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
}

Apache

LogLevel debug

<VirtualHost *:80>
    ServerName example.com

    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
</VirtualHost>

4. 使用systemd服务文件

如果你通过systemd管理你的Node.js应用程序,可以在服务文件中设置环境变量来控制日志级别。

[Unit]
Description=Node.js Application

[Service]
ExecStart=/usr/bin/node /path/to/your/app.js
Environment=LOG_LEVEL=debug
Restart=always

[Install]
WantedBy=multi-user.target

然后重新加载systemd配置并重启服务:

sudo systemctl daemon-reload
sudo systemctl restart your-app.service

通过这些方法,你可以灵活地配置CentOS系统中JS应用程序的日志记录级别。

0