В моем приложении я хочу войти в файл и консоль. Я использую регистратор в моем классифицирован как:Log4J не записывается в файл
private static Logger LOGGER = Logger.getLogger(CLASSNAME);
Файл конфигурации загружается по назначению (см setfile
строку вывода) с:
DOMConfigurator.configure("c:\\test\\log4j2.xml");
выхода:
log4j: reset attribute= "false".
log4j: Threshold ="null".
log4j: Level value for root is [DEBUG].
log4j: root level set to DEBUG
log4j: Class name: [org.apache.log4j.RollingFileAppender]
log4j: Setting property [append] to [false].
log4j: Setting property [maxFileSize] to [10MB].
log4j: Setting property [maxBackupIndex] to [10].
log4j: Setting property [file] to [c:\test\App.log].
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n].
log4j: setFile called: c:\test\App.log, false
log4j: setFile ended
log4j: Adding appender named [file] to category [root].
log4j: Class name: [org.apache.log4j.ConsoleAppender]
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n].
log4j: Adding appender named [console] to category [root].
, но когда я попытайтесь войти в систему сразу после входа выше, я не получу никакого результата
LOGGER.logp(Level.ALL, CLASSNAME, "TEST", "TEST__");
Программе разрешено записывать файл. Выход консоли работает независимо от загрузки файла или нет.
Возможно, вы заметили ошибку?
Файл конфигурации:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true" xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
</layout>
</appender>
<appender name="file" class="org.apache.log4j.RollingFileAppender">
<param name="append" value="false" />
<param name="maxFileSize" value="10MB" />
<param name="maxBackupIndex" value="10" />
<param name="file" value="c:\\test\\App.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="file" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
Edit: я использую log4j-1.2.17
Edit2: Оказывается, компонент почтовик может войти в файл, а приведенный выше код по-прежнему приводит только лесозаготовками в консоли window ...
private static final Logger log = Logger.getLogger(Mailer.class);
public static void logMail(String mailString)
{
log.error(mailString);
log.info(mailString);
}
Какую версию log4j вы используете? –
Это 's log4j-1.2.17 –
Не могли бы вы попробовать изменить значение append на true? – crea1