我现在的大致情况如下:
1、首先在一个类A中设置了一个staic的logger,它的日志文件目的地是a(通过读取properties文件动态配置);
2、然后在某个时刻,它new了另外一个对象B objB,B这个类会有一个非static的logger,它的日志文件目的地是b(通过读取另外一个properties文件动态配置)。
问题是:
在new了另外一个对象B objB之后,A的logger为什么就把它要输出的日志内容写在了目的地b文件中呢?
我觉得这两个logger应该没有什么关系啊,它们的配置文件我也是分别写了两个的,并分别在两个类的构造器中进行动态初始化。那怎么A的logger会受到B的logger的影响呢?
急待各位解决,谢谢!!!

解决方案 »

  1.   

    log4j的appender输出是应该全局的,就是说你的DailyRollingFileAppender只有一个实例,B改了路径后,A也就输出到B了。
      

  2.   

    1、您的意思是说,通过Logger.getLogger这个静态方法得到的logger,虽然我们在参数中指定了与某个类相关,但是仍然是只有一个实例?
    2、您说的“全局”,是指在什么范围内是全局的?是一个java application吗?
    3、那我想要两个实例,是要怎么弄呢?
    谢谢!!!
      

  3.   

    在log4j的配置文件中定义2组DailyRollingFileAppender输出试试,还没试过
      

  4.   

    补充问一下:您说的“全局”,是指在什么范围内是全局的?是一个java application吗?
      

  5.   

    是不是logger只哟一个,但是可以有多个appender?