Log4J 允许您传递您希望应用程序中的特定记录器从命令行登录的级别,例如“-Dlog4j.logger.com.whatever.MyClass=DEBUG”。我在 Logback 中找不到任何类似的工具。根据 FAQ,它似乎允许您做的就是使用变量替换为根记录器设置级别。有没有我遗漏的东西或者 Logback 不支持这个?谢谢。
原文由 bfancher 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答1.5k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
3 回答1.9k 阅读
2 回答770 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.3k 阅读
是的,好像没有这个功能。据我了解,部分原因是 logback 配置更复杂,因此很难通过扁平字符串属性实现合理的配置灵活性。部分原因是,恕我直言,它鼓励不良做法 - 放置太多系统属性 - 导致运行脚本或命令行臃肿,比单独的日志记录配置文件更难管理。
但是,我可以建议几个选项:
${sys.prop.var.name}
替换-Dlogback.configurationFile=/path/to/customised/logback.xml
。请记住,“Logback-classic 可以扫描其配置文件中的更改,并在配置文件更改时自动重新配置”。因此,您甚至不需要重新启动流程来更改日志记录级别。