Как записать журналы сервера Java в отдельный файл журнала - PullRequest
0 голосов
/ 24 июня 2009

Сейчас мы используем настраиваемый метод ведения журнала для нашего приложения, но теперь у нас есть отдельный код, для которого нам нужно записать отдельный файл журнала. У нас мало идей о log4j. Я просто хочу знать, где изменить свойства, если таковые имеются, чтобы не мешать существующему приложению для ведения журнала, а также записывать наши журналы в новый файл журнала.

Ответы [ 4 ]

1 голос
/ 21 июля 2009

Я использую конфигурацию 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="logfile" class="org.apache.log4j.FileAppender">
    <param name="file" value="app.log"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d-%5p(%F:%L)-%m%n"/>
    </layout>
</appender>
<appender name="myLogfile" class="org.apache.log4j.FileAppender">
    <param name="file" value="myFile.log"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d-%5p(%F:%L)-%m%n"/>
    </layout>
</appender>
<logger name="org.myApp">
    <level value="INFO"/>
    <appender-ref ref="myLogfile" />
</logger>
<root>
    <level value="ERROR" />
    <appender-ref ref="logfile" />
</root>
</log4j:configuration>
1 голос
/ 24 июня 2009

Сначала определите файл appender:

log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=/mylogfile.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n

Затем укажите ваш пакет, чтобы использовать этот appender:

log4j.logger.mypackage=LOGFILE
log4j.additivity.mypackage=false

Последняя строка важна, если вы не хотите, чтобы ваш пакет наследовал глобальный appender. Это приведет к тому, что сообщения журнала из mypackage также будут напечатаны в приложении по умолчанию.

1 голос
/ 24 июня 2009

в log4j вы можете направлять записи журнала в отдельные файлы на основе имени пакета.

log4j.logger.your.package1 = LOG, STDOUT

log4j.additivity.your.package1 = false

log4j.logger.your.package2 = ОТЛАДКА, STDOUT

log4j.additivity.your.package2 = false

0 голосов
/ 24 июня 2009

Просто используйте FileAppender и укажите новое имя файла в конструкторе.

...