2011 m. gegužės 6 d.

Adding log4j.dtd to eclipse’s XML catalog to support autocomplete in log4j.xml files

In your eclipse environment choose Window->Preferences menu:image

In Preferences window’s search field (1) enter text  “catalog” and choose “XML Catalog” (2). Press “Add …” button (3)":image

Enter the following information (correct location to match your log4j.jar location) for catalog:

Location: jar:file:/tools/eclipse/libs/log4j-1.2.16.jar!/org/apache/log4j/xml/log4j.dtd
Key Type: Public ID
Key: -//LOGGER

image

 

So now your log4j.xml can look like this:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration PUBLIC "-//LOGGER" "log4j.dtd">
<log4j:configuration 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 %5p [%t] %c{2} (%F:%M:%L) - %m%n" />
        </layout>
    </appender>
    <appender name="FileAppender" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="${catalina.home}/logs/my-service.log" />
        <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
        <param name="MaxBackupIndex" value="30" />
        <param name="MaxFileSize" value="10MB" />
        <param name="Append" value="true" />
        <param name="Encoding" value="UTF-8" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %5p [%t] %c{2} (%F:%M:%L) - %m%n" />
        </layout>
    </appender>
    <logger name="com.mycompany">
        <level value="DEBUG"/>
        <appender-ref ref="FileAppender" />
    </logger>
    <logger name="org.hibernate">
        <level value="WARN"/>
        <appender-ref ref="FileAppender" />
    </logger>
    <logger name="org.hibernate">
        <level value="WARN"/>
        <appender-ref ref="FileAppender" />
    </logger>
    <root>
        <level value="ERROR" />
        <appender-ref ref="ConsoleAppender" />
        <appender-ref ref="FileAppender" />
    </root>
</log4j:configuration>