Подтвердить что ты не робот

Пример конфигурации xml для log4j, есть "основное" java-приложение и вы хотите записать в файл

Есть ли пример файлов конфигурации log4j (XML).

У меня есть основное приложение java.

Я хочу, чтобы log4j выводил на консоль И записывал в файл.

Любые примеры этого будут очень признательны.

Я использую netbeans, если это имеет значение.

4b9b3361

Ответ 1

В вашем файле log4j.xml есть несколько приложений, например:

<?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="consoleAppender" class="org.apache.log4j.ConsoleAppender">
      <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="%d{dd MMM yyyy HH:mm:ss} %5p %c{1} - %m%n"/>
      </layout>
   </appender>

   <appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
      <param name="append" value="false"/>
      <param name="file" value="out/learning.log"/>
      <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
      </layout>
   </appender>

   <root>
      <level value="INFO"/>
      <appender-ref ref="consoleAppender"/>
      <appender-ref ref="fileAppender"/>
   </root>

</log4j:configuration>

Ответ 2

Вот пример примера log4j.xml, используемого в проекте Hibernate. Просто нужно поместить этот файл в путь к классам, и вы получите сообщения журнала на консоли, а также в файле. Если вам нужен какой-либо конкретный appender, который вы можете изменить в тег.

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">  
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"  
    debug="false">  
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">  
 <layout class="org.apache.log4j.PatternLayout">  
  <param name="ConversionPattern" value="[%d{dd/MM/yy hh:mm:ss:sss z}] %5p %c{2}: %m%n" />  
 </layout>  
</appender>  
    <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">  
        <appender-ref ref="CONSOLE" />  
        <appender-ref ref="FILE" />  
</appender>  
<appender name="FILE" class="org.apache.log4j.RollingFileAppender">  
    <param name="File" value="C:/hibernatelog.log"/>  
    <param name="MaxBackupIndex" value="100" />  
 <layout class="org.apache.log4j.PatternLayout">  
  <param name="ConversionPattern" value="[%d{dd/MM/yy hh:mm:ss:sss z}] %5p %c{2}: %m%n" />  
</layout>  
</appender>  
    <category name="org.hibernate">  
        <priority value="DEBUG" />  
    </category>  
    <category name="java.sql">  
        <priority value="debug" />  
    </category>  
    <root>  
        <priority value="INFO" />  
        <appender-ref ref="ASYNC" />  
    </root>  
</log4j:configuration>  

Я нашел это еще один описательный, а затем выше одного. Надеюсь, что это поможет.

Ответ 3

Типичная задача - поместить файл log4j.properties в свой путь к классам. Документ log4j расскажет вам все, что вам нужно знать о наличии двух приложений для консоли и файла, в их примерах. Другими словами, не беспокойтесь о менее распространенном формате XML и придерживайтесь очень распространенного формата свойств.