1 回答

TA贡献1876条经验 获得超7个赞
对于<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY" />在 Console Appender 中,您可以添加环境变量<ThresholdFilter level="${CONSOLE_LOG_LEVEL}" onMatch="ACCEPT" onMismatch="DENY" /> 或类似的东西并将此变量设置为OFF. 我也面临这个问题,它对我有用。
这也适用于 vm args,如下所示:
<ThresholdFilter level="${sys:console.log.level}" ... />
启动应用程序时:java -jar -Dconsole.log.level=ERROR
旁注:以编程方式,删除控制台附加程序也可以:
public static void main(String[] args) {
ctx = SpringApplication.run(MyApp.class, args);
final LoggerContext context = (LoggerContext) LogManager.getContext(false);
final Configuration config = context.getConfiguration();
LoggerConfig loggerConfig = config.getLoggerConfig("loggerName");
loggerConfig.removeAppender("CONSOLE");
context.updateLoggers();
}
对于编程方法最重要的是SpringApplication必须先初始化上下文!否则配置的记录器不可见!
添加回答
举报