Log4j отлично работает на localhost, но в jenkins все операторы журнала печатаются в одной строке

1

После выполнения тестовых примеров все шаги журнала будут записаны в файл. Как показано ниже.

  • Созданный файл журнала После выполнения на локальном компьютере:

[INFO] [2014-04-16 16: 49: 02,945] - Чтение свойств данных из файла dataSource

[INFO] [2014-04-16 16: 49: 02,945] - путь к файлу DataSource.properties

  • Созданный файл журнала После выполнения тестового примера в JENKINS

[INFO] [2014-04-21 08: 08: 27,134] - Чтение свойств данных из файла dataSource [INFO] [2014-04-21 08: 08: 27,135] - путь к файлу DataSource.properties

В Jenkins после завершения первого оператора журнала будет добавлен второй оператор. Но мое требование - это первый оператор в первой строке, второй оператор во второй строке. Итак, как я могу указать следующий символ строки в Log4j?

Теги:
selenium-webdriver
log4j
jenkins

1 ответ

1

В Log4j (v1 или v2) вы можете использовать %n в PatternLayout чтобы вставить новый символ строки. Подробнее о шаблонах Log4j можно узнать здесь:

Вот примеры конфигурации Log4j:

  • Log4j v1: log4j.appender.FileAppender.layout.ConversionPattern=%-5p [%t] %m%n
  • Log4j v2: <PatternLayout pattern="%-5p [%t] %m%n"/>
  • 0
    На самом деле я дал шаблон = "[% - 5p] [% 9d] -% m% n" следующим образом. Он работает нормально на локальной машине (Windows OS), но когда я запускаю тот же код шаблона на машине Linux, все журналы создавая в одной строке
  • 0
    Вы пытались открыть свой лог-файл в vim / vi в Linux? Если вы открываете свой файл журнала в Windows, но этот файл был написан в Linux, \n используется, и Windows требуется \r\n для вставки новой строки. Короче говоря, может быть, новая строка здесь, но вы не можете увидеть это в Windows
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню