开发者

Converting log4j.properties to log4j.xml [duplicate]

This question already has answers here: Script to convert log4j.properties to log4j.xml (5 answers) Closed 9 years ago.

I couldn't find anywhere how to specify constants in log4j.xml. For example, I have this constant in my log4j.properties:

#Log directory
dal.log.dir=/var/log/pojodal/
# 开发者_运维技巧Log filename
dal.log.file=pojodal.log

And I use these constants as follows, in other parts of the properties file:

log4j.appender.DRFA1.File=${dal.log.dir}/${dal.log.file}

How to achieve the same behavior in log4j.xml?


You can convert your complete log4j.properties using this online service, where you can paste your log4j.properties, press convert and copy your new log4j.xml:

http://log4j-props2xml.appspot.com/

If that webapp is offline ... you can also start it in your own servlet container ... you find downloads and sources here:

https://github.com/jroyals/log4j-properties-converter/

Use of variables in log4j.xml:

This is explained in an answer to another question ... using XML internal entities here and using Java System Properties here.


You can set the log file location and name as a parameter element in the log4J xml

<param name="File" value="C:\\logs\\application\\ApplicationLog.log" />

Example file below:

<log4j:configuration>
    <appender name="STDOUT" class="org.apache.log4j.RollingFileAppender">
        <param name="File"     value="C:\\logs\\application\\ApplicationLog.${user.name}.log" />
        <param name="MaxFileSize" value="5000KB" />
        <param name="MaxBackupIndex" value="10" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
        value="[%d{yyyy-MMM-dd HH:mm:ss}] [%t] %-5p %c{1}: %m %n" />
        </layout>
        <filter class="org.apache.log4j.varia.LevelRangeFilter">
            <param name="LevelMin" value="DEBUG"/>
            <param name="LevelMax" value="FATAL"/>
        </filter>
    </appender>

    <root>
        <level value="all" />
        <appender-ref ref="STDOUT"/>
    </root>
</log4j:configuration>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜