我有一个用例,其中我必须在并发模式下(最多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
我正在基于类名在脚本中设置日志文件名。
有人可以建议在这里解决吗?
谢谢您的帮助:)