默认情况下,log4j将打印类名作为log的前缀。现在我的情况是,我在一个 JVM 中有多个 A 类实例,并且该类中有一个日志。我希望以下日志可以让我知道哪个实例正在打印这行日志?我怎样才能做到这一点?
2014-09-09 13:07:08,512 INFO com.myexample.A(id1)
2014-09-09 13:07:08,514 INFO com.myexample.A(id2)
Run Code Online (Sandbox Code Playgroud)
我认为你不能通过 log4j.properties 文件中的设置来做到这一点。请参阅此处可能的变体。
但你可以这样解决问题:
class A {
Logger LOGGER;
A(String id) {
LOGGER = Logger.getLogger(getClass() + "(" + id + ")");
}
void myMethod() {
LOGGER.info("Hello!");
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1499 次 |
| 最近记录: |