mik*_*ent 5 java logging logback log-level
我想做一些看起来非常简单的事情:只需通过一个简单实用程序类中的方法传递大量日志记录命令(可能是全部,但特别是WARN和ERROR级别)。我特别想这样做,以便在测试期间我可以通过模拟执行此调用的方法来抑制实际输出到日志记录。
但是我不知道如何使用ch.qos.logback.classic.Logger,以Level为参数调用单个方法......显然我可以使用switch基于此值的命令,但是在某些日志记录框架中,有一两个方法可以让您通过Level作为参数记录。不提供这个似乎有点“原始”。
该方法可能看起来有点像这样:
Logger.log( Level level, String msg )
Run Code Online (Sandbox Code Playgroud)
之后
现在查找了“XY 问题”,我理解对这个问题的怀疑。动态日志被认为是不好的,至少在 Java 中是这样(在 Python 中可能更少)……现在我知道并理解首选的方法是适当地配置日志配置以进行测试。
但是,如果可以的话,还有一个小问题:虽然我还没有在这个特定项目中实现这一点,但我通常发现“只是”将堆栈跟踪追溯到特定Thread不足的开头,这就是 logback 所做的(Exceptions通过在WARN或ERROR水平)。我计划实施一个系统来记录Threads它们何时运行新的“快照” Threads......然后可以在Thread发生错误时列出(回到应用程序的第一个开始)。如果您愿意,这是使用某些东西“处理”传出日志调用的另一个理由。我想如果我想实现这样的东西,我将不得不尝试以某种方式扩展 logback 的一些元素。
| 归档时间: |
|
| 查看次数: |
946 次 |
| 最近记录: |