使用xml

时间:2016-10-25 13:06:23

标签: java xml logging log4j2

我希望以三种方式显示日志消息:
- 在控制台上 - 在单个文件log / logs / log.log文件中 - 每月更改的日志类型log / logs / log-201610.log

我写了这个配置(在这里使用其他问题和我找不到的几个来源):

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Appenders>
        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss,SSS} [%t] %-5level %logger{36} - %msg%n" />
        </Console>
        <File name="basic" fileName="log/log.log">
            <PatternLayout
                pattern="%d{dd/MM/yy HH:mm:ss,SSS} [%t] %-5level %logger{36} - %msg%n" />
        </File>
        <RollingFile name="RollingFile" fileName="log/logs/app.log"
            filePattern="log/logs/log-%d{yyyyMM}.log">
            <PatternLayout>
                <Pattern>"%d{HH:mm:ss,SSS} [%t] %-5level %logger{36} - %m%n"</Pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy />
            </Policies>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="ALL">
            <AppenderRef ref="console" />
        </Root>
        <Logger name="sistema" level="ALL" additivity="true">
            <AppenderRef ref="basic" />
        </Logger>
        <Logger name="sistemabis" level="ALL" additivity="true">
            <AppenderRef ref="RollingFile" />
        </Logger>
    </Loggers>
</Configuration>

它似乎正常工作(不会出错),但我在log / logs / app.log中得到一个空文件。在我的文件dependencies.xml中,我有这个:

    <dependency org="org.apache.logging.log4j"   name="log4j-api"           rev="2.5"    transitive="false"/>
    <dependency org="org.apache.logging.log4j"   name="log4j-core"          rev="2.5"    transitive="false"/>
但是我担心我还会遗漏一些东西 最有可能的是,有一天我将删除单个完整文件上的日志记录(因此我需要能够区分appender)。不需要大小限制。
我哪里错了?

编辑:根据我在评论中读到的内容,我编辑了以展示情况

1 个答案:

答案 0 :(得分:0)

根据评论,我修改了依赖项并替换了配置文件中的一些行:

<Pattern>%d{dd/MM/yy HH:mm:ss,SSS} [%t] %-5level %logger{36} - %msg%n</Pattern>

    <Logger name="sistema" level="ALL" additivity="true"> <!-- name è il nome del pacchetto radice da cui prendere. -->
        <AppenderRef ref="basic" />
        <AppenderRef ref="RollingFile" />
    </Logger>

似乎工作正常。 11月1日,我会对此有更多了解。