t.me/atinfo_chat Telegram группа по автоматизации тестирования

Логирование в файл, не применяется вставка пустой строки после стринга

Теги: #<Tag:0x00007f748a086e88> #<Tag:0x00007f748a086d98> #<Tag:0x00007f748a086c58>

Здравствуйте. Подскажите пожалуйста, как сделать вставку пустой строки в файл

log.info("Завершено\n");

вывод:
    Завершено
    --пустая строка--

Так только в консоле применяется, а в файле нет.

  1. Логер - log4j
  2. ОС - windows
  3. Настройки конфига -
    Апендер для работы с файлами
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    Путь где будет создаваться лог файл
    log4j.appender.file.File=C:\log_file.log

Linux - \n
MacOs - \r
Windows - \n\r

не помогло

Как думаете, насколько информативен ваш кусок кода? Очевидно ли, какой логгер вы используете, как именно в файл пишете, на какой ОС? Смею заверить, экстрасенсов в нашем коммьюнити не прибавилось. :wink:

=)
сори

1. log4j
2. windows
3. Апендер для работы с файлами
log4j.appender.file=org.apache.log4j.RollingFileAppender
Путь где будет создаваться лог файл
log4j.appender.file.File=C:\\log_file.log

Какой версии log4j используется? Если второй, то config xml покажите.

Версия log4j-1.2.17

Настройки в файле пропертис

# Уровень логирования
log4j.rootLogger=INFO, stdout, file

# Апендер для работы с выводом на консоль
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.conversionPattern=%d{ABSOLUTE} %5p %t %c{1}:%M:%L - %m%n

# Апендер для работы с файлами
log4j.appender.file=org.apache.log4j.RollingFileAppender
# Путь где будет создаваться лог файл
log4j.appender.file.File=C:\\TMP\\AutoTestLogs\\log_file.log
log4j.appender.file.Append=false

# Указываем максимальный размер файла с логами
log4j.appender.file.MaxFileSize=1MB

# Конфигурируем шаблон вывода логов в файл
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

Почему потянуло на такую древность? :slight_smile:
В любом случае, я вижу, что паттерн уже включает перенос. Т.е. любая новая запись будет напечатана с новой строки.

В log4j2.x символ \n вполне корректно вставляет новую строку. Как вариант, можете просто напечатать дополнительно: log.info(""), но в таком случае это будет не совсем пустой строкой, ввиду наличия timestamp в паттерне. Можно еще добавить дополнительно %n в паттерн, но тогда везде будет вставлена пустая строка.

В общем, по старой версии не подскажу точного решения, т.к. сам изначально начинал с 2.x.

1 Симпатия

на самом деле просто добавил зависимость в мавене по древнему туториалу) надо изменить)

ладно, спасибо! разберусь как-нибудь)