Java 使用xml配置log4j 2

Java 使用xml配置log4j 2,java,xml,logging,log4j2,Java,Xml,Logging,Log4j2,我希望日志消息以三种方式显示: -在控制台上 -在单个文件log/logs/log.log文件上 -在每月更改的log/logs/log-201610.log类文件上 我编写了这个配置(使用了这里的其他问题和一些我找不到的来源): %d{HH:mm:ss,SSS}[%t]-5级别%logger{36}-%m%n 它似乎工作正常(没有给出错误),但我在log/logs/app.log中得到一个空文件。在我的文件dependencies.xml中,我有以下内容: <dependen

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

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


%d{HH:mm:ss,SSS}[%t]-5级别%logger{36}-%m%n
它似乎工作正常(没有给出错误),但我在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)。不需要大小限制。
我哪里错了?

编辑:根据我在评论中读到的内容,我进行了编辑以显示情景

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

<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>
%d{dd/MM/yy HH:MM:ss,SSS}[%t]-5级别%logger{36}-%msg%n

它似乎工作正常。11月1日,我将了解更多信息。

我不确定“appender”的语法是否正确,这里是否应该是“File”或“RollingFile”元素?您应该看看文档:由于您的建议,我添加了一些额外的材料。但我仍然无法使它正常工作。奇怪的是,您是否尝试过log4j2 how-to中的确切示例?您使用的是哪个版本的loj4j2?目前我使用的是1.2.17,但我找不到任何按月划分日志的真实示例,我希望尽快找到它,因为我想在11月开始时对其进行测试。是的,确切地说,您使用的语法是Log4j2,但您使用的是log4j。试试这个:
<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>