![]() |
1
39
没办法这么做
我认为这个功能缺失的原因是几乎不可能构造
关于 @ripper234 的 use-case (单元测试),我认为实际的解决方案是修改单元测试,以硬连线了解slf4j facade背后的日志系统……运行单元测试时。 |
![]() |
2
25
Richard Fearn有正确的想法,所以我根据他的框架代码编写了完整的类。希望短到可以贴在这里。复制粘贴以获得乐趣。我可能也应该加上一些咒语:“这段代码已经发布到公共域”
|
![]() |
3
11
您可以使用Java 8 lambdas来实现这一点。
|
![]() |
4
11
尝试切换到Logback并使用
我相信这将是唯一一个需要注销的调用,剩下的代码将保持不变。logback使用slf4j,迁移将是无痛的,只需更改xml配置文件。 完成后请记住将日志级别设置回原来的水平。 |
![]() |
5
6
这可以用一个
您可以添加其他变体
|
![]() |
6
5
任何人想要一个完全兼容SLF4J的解决方案来解决这个问题,可能想看看 Lidalia SLF4J Extensions -在马文中心。 |
![]() |
7
1
我也遇到过类似的需求。 在我的例子中,SLF4J是用Java日志适配器(JDK14)配置的。 使用下面的代码段,我成功地在运行时更改了调试级别:
|
![]() |
8
0
基于Massimo Virgilio的回答,我还成功地用SLF4J-log4J进行了内省。Hth.
|
![]() |
9
0
这里有一个lambda解决方案,在某种程度上不如@paul croarkin的用户友好(这个级别实际上通过了两次)。但我认为(a)用户应该通过记录器;和(b)afaiu最初的问题不是要为应用程序中的任何地方提供方便的方式,而是在库中很少使用的情况下。
自SLF4J以来
allows a Throwable (whose stack trace should be logged) inside the varargs param
,我认为不需要重载
|
![]() |
10
0
我通过首先请求slf4j日志实例和 然后 设置绑定的级别——您可以在log4j绑定中尝试此操作。
|
![]() |
11
0
我使用的方法是导入ch.qos.logback模块,然后键入cast将slf4j logger实例转换为ch.qos.logback.classic.logger。此实例包含一个setlevel()方法。
要找出可能的日志记录级别,可以分解ch.qos.logback类以查看 水平 :
结果如下:
|
![]() |
12
-1
使用Java自省,你可以这样做,例如:
|
![]() |
13
-5
不,它有许多方法,info()、debug()、warn()等(这将替换priority字段) 看一看 http://www.slf4j.org/api/org/slf4j/Logger.html 对于完整的记录器API。 |
![]() |
MattWeiler · 项目使用Log4j2,但依赖项使用Log4j 7 年前 |
|
user5444681 · 如何在包覆面提取容器中使用log4j2? 7 年前 |
![]() |
Allan Peres · Log4j不创建日志文件,只创建控制台 7 年前 |
![]() |
mtkarakaya · 替换包含环境变量的路径字符串 7 年前 |
![]() |
m.francia · 如何配置log4j以发送wowza日志? 7 年前 |
![]() |
khaled · 在Robot框架中,如何在执行期间登录到控制台 7 年前 |
![]() |
user2953788 · log4j。性能过滤火花和纱线原木 7 年前 |