log4j2.xml生成没有格式的html和xml日志文件

时间:2016-06-03 22:01:44

标签: java log4j2

我正在使用jsf和jpa从事web项目我还使用log4j来记录mu webapp 问题是html lof文件看起来和样本日志文件一样没有html布局与我的xml布局相同的东西 一切都很好的记录和创建文件,但没有布局 三个appender生成相同的日志格式 这是我的log4j2.xml

        <?xml version="1.0" encoding="UTF-8"?>
<Configuration status="all">
    <Properties>
        <Property name="baseDir">webapp_logs</Property>
    </Properties>
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
        <RollingFile  name="DailyRollingLog" fileName="${baseDir}/mylog.log" 
                      filePattern="${baseDir}/$${date:yyyy-MM}/prime_hms-%d{yyyy-MM-dd-HH-mm}.log">
            <Policies>
                <TimeBasedTriggeringPolicy/>
            </Policies>
            <PatternLayout pattern="%d %p %c{1.} [%t] %m%"/>
        </RollingFile >
        <RollingFile  name="DailyRollingHTML" fileName="${baseDir}/mylog.html" 
                           filePattern="${baseDir}/$${date:yyyy-MM}/prime_hms-%d{yyyy-MM-dd-HH-mm}.html">
            <param name="immediateFlush" value="true"/>
            <layout class="org.apache.log4j.HTMLLayout">
                <param name="LocationInfo" value="true"/>
            </layout>
            <Policies>
                <TimeBasedTriggeringPolicy/>
            </Policies>
        </RollingFile>
        <RollingFile  name="DailyRollingXML" fileName="${baseDir}/mylog.xml" 
                           filePattern="${baseDir}/$${date:yyyy-MM}/prime_hms-%d{yyyy-MM-dd-HH-mm}.xml">
            <layout class="org.apache.log4j.XMLLayout">
                 <param name="properties" value="true"/>
                <param name="LocationInfo" value="true"/>
                <param name="complete" value="true"/>
            </layout>
            <Policies>
                <TimeBasedTriggeringPolicy/>
            </Policies>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="all">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="DailyRollingLog"/>
            <AppenderRef ref="DailyRollingHTML"/>
            <AppenderRef ref="DailyRollingXML"/>
        </Root>
    </Loggers>
</Configuration>    

1 个答案:

答案 0 :(得分:0)

使用Log4j 2,您永远不会指定具有类名的类属性。 Log4j 2使用插件。你应该:

<HTMLLayout locationInfo="true"/>

<XMLLayout locationInfo="true" complete="true" properties="true"/>