我使用 slf4j 1.7.2 和 logback 1.0.7。我希望能够为我的 Java 应用程序提供一个命令行参数,用于设置记录到标准输出的消息级别。例如,-logLevel trace
应该记录所有消息,但-logLevel warning
只记录警告和错误。日志应该来自应用程序中的所有记录器(= 根记录器)。
目前我有一个ConsoleAppender
for System.out
,通过 确保TresholdFilter
只有info
warning
和error
消息被打印到标准输出。根记录器引用它。我不知道如何以编程方式更改此附加程序的过滤级别,我需要将记录的级别基于命令行参数。
虽然记录到标准输出的级别应该受到影响,但我仍然希望根记录器记录所有级别,因为它们被发送到其他附加程序,例如diagnostics.txt
应该始终具有所有级别的文件。
干杯!
康拉德