Suz*_*ioc 3 java logback class-hierarchy
下面的配置
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} %C{0}: %msg%n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="STDOUT" />
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)
和以下代码
package tests;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Runner {
private static final Logger log = LoggerFactory.getLogger(Runner.class);
public static void main(String[] args) {
new Runner().new Parent().hello();
new Runner().new Child().hello();
}
public class Parent {
public void hello() {
log.info("Hello from " + getClass().getSimpleName());
}
}
public class Child extends Parent{
}
}
Run Code Online (Sandbox Code Playgroud)
产出
20:42:13.811 Runner$Parent: Hello from Parent
20:42:13.814 Runner$Parent: Hello from Child
Run Code Online (Sandbox Code Playgroud)
这意味着%C{0}
输出的东西不同于this.getClass().getSimpleName()
.
是否可以使用 logback 模式输出与后者相同的输出?
在 logback 配置文件中,使用转换说明符:%class{0}输出类名。例子:
<pattern>%d %-5level %class{0}: %msg%n</pattern>
否则,尝试使用 Logger 简单名称 by %logger{0}
,并为每个类使用所需的记录器。
归档时间: |
|
查看次数: |
6081 次 |
最近记录: |