并发使用时,Log4j会破坏日志

时间:2018-09-13 20:26:50

标签: java multithreading logging concurrency log4j

我有一个用例,其中我必须在并发模式下(最多500个用户)执行UI测试。为此,我在无头模式下使用Selenium并使用log4j进行日志记录。我读到log4j是线程安全的。但是,当与20个用户一起运行时,我在日志文件中看到损坏。我不想为每个线程创建不同的日志文件,因为打开每个文件来分析问题没有意义。因此,我将其写入单个文件。

我正在创建logger的实例,并使用它来记录消息。

Logger logger = Logger.getLogger(xyz.class);
logger.info("");

损坏的日志文件。

  

2018-09-13 14:26:50 INFO [线程10](SearchAndAddDataAsset.java:149)   -线程35:检查项目'project55'e2018-02018-09-13 14:26:50 INFO [线程17](SearchAndAddDataAsset.java:65)-线程42   :截屏截图

log4j配置文件

  

log4j.rootLogger = INFO,文件   log4j.appender.FILE = org.apache.log4j.FileAppender   log4j.appender.FILE.ImmediateFlush = true   log4j.appender.FILE.Append = false   log4j.appender.FILE.layout = org.apache.log4j.PatternLayout   log4j.appender.FILE.layout.ConversionPattern =%d {yyyy-MM-dd HH:mm:ss}   %5p [%t](%F:%L)-%m%n

我正在基于类名在脚本中设置日志文件名。

有人可以建议在这里解决吗?

谢谢您的帮助:)

0 个答案:

没有答案