程序启动后会new 出两个一样的线程同时启动,我需要使用log4j分别记录下线程的日志,应该怎么进行配置,或者有哪些解决方法,请大大们执教

解决方案 »

  1.   

    Circle circle = new Circle(1);
    circle.start();
    Circle circle1 = new Circle(0);
    circle1.start();这样的俩个线程,我需要用log4j分开记录下线程的运行情况
      

  2.   

    这里可以在Circle的构造方法中根据参数获取Logger,即类似于
    log = Logger.getLogger(Circle.class.getName() + "." + index);然后在代码中就使用这个log来打印日志但是这个需要预写好log4j的配置文件(或者在Circle构造中调用log.addAppender(fileAppender)来指定生成的日志文件)
      

  3.   

    火龙果大大,我现在需要按照这两个线程分配在两个文件夹下,如果单把线程名带出来,仍然没可读性啊。和这两个线程相关的还有其他log文件。怎样才能从线程入口的地方就把以后的所有日志全部分开呢
      

  4.   

    这样做有啥意义么?grep Thread-101 test.log直接就分离了
      

  5.   

    现在的情况是这两个线程都是我new出来的。
    Circle circle1 = new Circle(0);
    circle1.start();
    代表处理OA
    Circle circle = new Circle(1);
    circle.start();
    代表处理财务
    Circle里的业务逻辑都是一致的,我现在需要让它在日志文件里,分成两个不同目录进行存储,以便客户去找到到底那地方出了问题。如果放在一个文件夹下的话,是可以看到,但是很乱,不容易定位