log4j-properties Converter

log4.propertieslog4j.xml に変換するツールを見つけた。

http://code.google.com/p/log4j-properties-converter/

zip をダウンロードして展開すると、Windows用 bat ファイルと UNIX 用に
シェルファイルが存在する。

使い方は、c:\work に log4j.properties が存在するなら、

log4j-convert.bat -f c:\work\log4j.properties

で、c:\work\log4j.xml が作成される。


例えば、log4j.properties の内容が以下であるとき

# A default log4j configuration for log4j users.
#
# To use this configuration, deploy it into your application's WEB-INF/classes
# directory. You are also encouraged to edit it as you like.

# Configure the console as our one appender

log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n

# tighten logging on the DataNucleus Categories
log4j.category.DataNucleus.JDO=WARN, A1
log4j.category.DataNucleus.Persistence=WARN, A1
log4j.category.DataNucleus.Cache=WARN, A1
log4j.category.DataNucleus.MetaData=WARN, A1
log4j.category.DataNucleus.General=WARN, A1
log4j.category.DataNucleus.Utility=WARN, A1
log4j.category.DataNucleus.Transaction=WARN, A1
log4j.category.DataNucleus.Datastore=WARN, A1
log4j.category.DataNucleus.ClassLoading=WARN, A1
log4j.category.DataNucleus.Plugin=WARN, A1
log4j.category.DataNucleus.ValueGeneration=WARN, A1
log4j.category.DataNucleus.Enhancer=WARN, A1
log4j.category.DataNucleus.SchemaTool=WARN, A1

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 class="org.apache.log4j.ConsoleAppender" name="A1">
        <layout class="org.apache.log4j.PatternLayout">
            <param value="%d{HH:mm:ss,SSS} %-5p [%c] - %m%n" name="ConversionPattern"/>
        </layout>
    </appender>

    <logger name="DataNucleus.Cache">
        <level value="warn"/>
        <appender-ref ref="A1"/>
    </logger>
    <logger name="DataNucleus.ClassLoading">
        <level value="warn"/>
        <appender-ref ref="A1"/>
    </logger>
    <logger name="DataNucleus.Datastore">
        <level value="warn"/>
        <appender-ref ref="A1"/>
    </logger>
    <logger name="DataNucleus.Enhancer">
        <level value="warn"/>
        <appender-ref ref="A1"/>
    </logger>
    <logger name="DataNucleus.General">
        <level value="warn"/>
        <appender-ref ref="A1"/>
    </logger>
    <logger name="DataNucleus.JDO">
        <level value="warn"/>
        <appender-ref ref="A1"/>
    </logger>
    <logger name="DataNucleus.MetaData">
        <level value="warn"/>
        <appender-ref ref="A1"/>
    </logger>
    <logger name="DataNucleus.Persistence">
        <level value="warn"/>
        <appender-ref ref="A1"/>
    </logger>
    <logger name="DataNucleus.Plugin">
        <level value="warn"/>
        <appender-ref ref="A1"/>
    </logger>
    <logger name="DataNucleus.SchemaTool">
        <level value="warn"/>
        <appender-ref ref="A1"/>
    </logger>
    <logger name="DataNucleus.Transaction">
        <level value="warn"/>
        <appender-ref ref="A1"/>
    </logger>
    <logger name="DataNucleus.Utility">
        <level value="warn"/>
        <appender-ref ref="A1"/>
    </logger>
    <logger name="DataNucleus.ValueGeneration">
        <level value="warn"/>
        <appender-ref ref="A1"/>
    </logger>

</log4j:configuration>