Log4J вывести пустую строку в файл журнала
В Java вы можете использовать System.out.println() для печати пустой строки, но как это работает с log4j в файле журнала? Там я также хочу иметь одну или несколько пустых строк внутри файла журнала.
Я уже прочитал следующий: log4j, как добавить пустую строку
Но это не очень полезно, потому что с
logger.debug("\n");
logger.debug("");
Вы не печатаете сообщение, но другая информация, такая как время и т. д. (схема регистратора), все еще хранится внутри файла журнала. Но я просто хочу получить полностью пустую строку. Кто-нибудь может мне помочь?
2 ответа
Log4j не предназначен для записи пустых строк.
Вы не можете найти эту опцию в регистраторе, потому что регистратор не зависит от его дополнений, которые пишут в файл или консоль или что-то другое.
Я думаю, вам нужно создать свой собственный FileAppender, который проверяет сообщение регистрации перед записью. Если твой message.equals("\n");
Вы добавляете пустую строку без макета, обращаясь к файлу самостоятельно, и пропускаете обычное ведение журнала с макетом. тогда вы можете использовать Logger.debug("\n");
Также не рекомендуется добавлять пустые строки. Это похоже на разделение вашего лог-сообщения на несколько строк. Вы хотите, чтобы все ваши Logmessage были в одной строке каждая, чтобы их было легко анализировать для LogViewer-Tools, таких как цепная пила или OtrosLogViewer. Единственным исключением являются Stacktraces.
Создайте свой собственный appender с пустым макетом и регистратором, который использует этот appender. Затем напишите пустую строку с помощью этого регистратора. Убедитесь, что для атрибута аддитивности для logger установлено значение false, чтобы корневой регистратор не записывал сообщение, используя форматирование своих дополнений.