Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 项目中每个类的Log4j_Java_Log4j - Fatal编程技术网

Java 项目中每个类的Log4j

Java 项目中每个类的Log4j,java,log4j,Java,Log4j,我有一个包含类的项目 我希望按类进行日志记录,而不是将它们全部打包到一个日志文件中。我正在使用Java 比如我有 foo.bar.class1 foo.bar.class2 如何实现每个类的日志文件 这样我就可以有一个名为“class1.log”和“class2.log”的日志文件,其中包含各自的日志数据。我应该在log4j.properties或类中做什么 非常感谢您的帮助。我不确定您是否可以在log4j.xml或log4j.properties中执行此操作。因此,您实际上可以这样做(未经测试

我有一个包含类的项目

我希望按类进行日志记录,而不是将它们全部打包到一个日志文件中。我正在使用Java

比如我有

foo.bar.class1 foo.bar.class2

如何实现每个类的日志文件

这样我就可以有一个名为“class1.log”和“class2.log”的日志文件,其中包含各自的日志数据。我应该在log4j.properties或类中做什么


非常感谢您的帮助。

我不确定您是否可以在log4j.xml或log4j.properties中执行此操作。因此,您实际上可以这样做(未经测试,但应以这种方式工作):


如果要使用
log4j-slf4j
桥接器,然后插入
logback
后端,则可以使用将不同日志“筛选”到不同文件中。我不确定这样的功能是否仅适用于log4j。为每个类创建日志记录器,并将每个日志记录器与单独的appender关联,并具有自己的日志文件。使用log4j,我认为您需要编写一个自定义appender来完成此操作。但我真的不认为这是个好主意。跨涉及多个类的方法调用序列跟踪问题可能非常棘手。@NaveenRamawat我如何实现它?谢谢
static {
    Logger LOG = LoggerFactory.getLogger(MyClass.class);
    try {
        ((FileAppender)LOG.getAppender()).setFile("class-" + MyClass.name());
    } catch (...) {}
}