Я задумчиво задался вопросом то же самое, как описано в ответе на: то, Какого tool/application/whatever Вы желаете, существовало?
, В то время как легко вообразить большое количество преимуществ, я думаю самое большое препятствие, которое должно было бы быть обращено, то, что никто не произвел жизнеспособную альтернативу.
, Когда люди думают об альтернативах хранению источника как текст, они кажутся часто, сразу думают с точки зрения графических представлений (я обращаюсь здесь к коммерческим продуктам, которые были доступны - например, HP-vee). И если мы смотрим на опыт людей как разработчики FPGA, мы видим, что программирование (исключительно) графически просто не работает - следовательно языки как Verilog и VHDL.
, Но я не вижу, что устройство хранения данных источника обязательно должно быть связано с методом записи его во-первых. Запись источника может быть в основном сделана как текст - что означает, что проблемы копирования/вставки могут все еще быть достигнуты. Но я также вижу, что, позволяя слияниям и откатам, которые будут сделаны на основе маркируемого метаисточника, мы могли достигнуть более точных и более мощных инструментов управления.
Возможно, где-то в проекте есть файл log4j.properties. В этом файле вы можете настроить, какой уровень вывода отладки вам нужен. См. Этот пример:
log4j.rootLogger=info, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
log4j.logger.com.example=debug
Первая строка устанавливает уровень журнала для корневого регистратора на "info", то есть на консоль будут выводиться только информация, предупреждение, ошибка и критическая ошибка (приложение, определенное немного ниже).
Последняя строка устанавливает регистратор для com.example. * (Если вы получаете регистраторы через LogFactory.getLogger (getClass ())
) будет на уровне отладки, т.е. отладка также будет напечатана.
Here's a quick one-line hack that I occasionally use to temporarily turn on debug logging in a JUnit test:
Logger.getRootLogger().setLevel(Level.DEBUG);
Это, вероятно, происходит из-за того, что ваша конфигурация log4j установлена на ОШИБКА
. Найдите файл log4j.properties со следующим содержимым:
log4j.rootLogger=ERROR, CONSOLE
# console logging
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=DEBUG
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d %-5p %-20.20t %-24c{1}: %m%n
rootLogger
установлен на уровень ОШИБКА
здесь с помощью приложения CONSOLE
.
Обратите внимание, что некоторые приложения, такие как консольное приложение, также имеют свойство Threshold
, которое можно использовать для отмены уровня rootLoggers
. В этом случае вам нужно проверить оба.
Вам необходимо установить самый низкий уровень ведения журнала, который вы хотите отображать. Например, если вы хотите отображать сообщения DEBUG, вам необходимо установить уровень регистратора на DEBUG.
В руководстве Apache log4j есть раздел о конфигурации.
Это происходит из-за к тому факту, что уровень ведения журнала вашего регистратора установлен на «ошибка» - поэтому вы будете видеть только сообщения об ошибках или выше этого уровня с точки зрения серьезности, поэтому вы также видите «фатальное» сообщение.
Если вы установите уровень ведения журнала на «отладка» в вашем журнале в вашем log4j.xml, вы должны увидеть все сообщения.
Посмотрите введение log4j для объяснения.
Поместите файл с именем log4j.xml
в путь к классам. Содержимое, например,
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %5p %t %c{1}:%L - %m%n"/>
</layout>
</appender>
<root>
<level value="debug"/>
<appender-ref ref="stdout"/>
</root>
</log4j:configuration>
I like to use a rolling file appender to write the logging info to a file. My log4j properties file typically looks something like this. I prefer this way since I like to make package specific logging in case I need varying degrees of logging for different packages. Only one package is mentioned in the example.
log4j.appender.RCS=org.apache.log4j.DailyRollingFileAppender
log4j.appender.RCS.File.DateFormat='.'yyyy-ww
#define output location
log4j.appender.RCS.File=C:temp/logs/MyService.log
#define the file layout
log4j.appender.RCS.layout=org.apache.log4j.PatternLayout
log4j.appender.RCS.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm a} %5 %c{1}: Line#%L - %m%n
log4j.rootLogger=warn
#Define package specific logging
log4j.logger.MyService=debug, RCS