У меня есть сценарий использования, когда я должен выполнять тесты пользовательского интерфейса в режиме параллелизма (до 500 пользователей).Для этого я использую Selenium в автономном режиме и log4j для ведения журнала.Я прочитал log4j потокобезопасно.Однако при работе с 20 пользователями я обнаружил повреждение в моем лог-файле.Я не хотел создавать разные файлы журналов для каждого потока, так как не имеет смысла открывать каждый файл для анализа проблем.Следовательно, я пишу это в один файл.
Я создаю экземпляр регистратора и использую его для регистрации сообщений.
Logger logger = Logger.getLogger(xyz.class);
logger.info("");
Поврежденный файл журнала.
2018-09-13 14:26:50 ИНФОРМАЦИЯ [тема 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 {гггг-ММ-дд ЧЧ: мм: сс}% 5p [% t] (% F:% L) -% m% n
Я задаю журналимя файла внутри скрипта, основанное на имени класса.
Может кто-нибудь предложить что-нибудь здесь?
Спасибо за помощь:)