动态修改日志打印等级
egg日志打印级别分别是:DEBUG、INFO、WARN、ERROR以及NONE
方法一:修改配置文件,并重启进程
// 修改level字段以及consoleLevel
config.logger = {
level: 'DEBUG',
consoleLevel: 'DEBUG',
allowDebugAtProd: true,
};
然后使用命令行的方式重启进程或者使用其他插件重启进程
方法二:直接修改app.loggers.logger
// 这里修改为WARN
const { app } = this;
const Loggers = require('egg-logger').EggLoggers;
app.config.logger.consoleLevel = 'WARN';
app.config.logger.level = 'WARN';
const newLogConfig = new Loggers(app.config);
app.loggers.logger = newLogConfig.logger;
// 修改成功,之后的日志打印级别就是WARN了
两种方法对比
- 方法一修改的话需要重启worker进程,可能导致一些业务功能发生异常;
- 方法一的修改是永久的,即时下次服务重新启动日志级别也是修改之后的;
- 方法二的修改是暂时的,服务重启之后修改就失效了;
- 可以将方法一和方法二结合使用:直接修改配置文件的日志级别,然后使用方法二进行修改即可,这样既不用重启进程,修改也是永久的。