Java 我的log4j2日志文件始终具有每行的双重输出

Java 我的log4j2日志文件始终具有每行的双重输出,java,logging,duplicates,log4j2,Java,Logging,Duplicates,Log4j2,我已经看到很多关于使用log4j2在日志上复制条目的帖子。解决方案似乎是添加additivity属性并将其设置为false,但似乎对我不起作用 这是我的log4j2.xml <Configuration status="DEBUG"> <Appenders> <Console name="Console" target="SYSTEM_OUT" additivity="false"> <PatternLayout pattern

我已经看到很多关于使用log4j2在日志上复制条目的帖子。解决方案似乎是添加additivity属性并将其设置为false,但似乎对我不起作用

这是我的log4j2.xml

 <Configuration status="DEBUG">
<Appenders>
    <Console name="Console" target="SYSTEM_OUT" additivity="false">
        <PatternLayout pattern="%d{dd-MM-yyyy HH:mm:ss} [%t] %-5level %logger{36} - %msg%n" />
    </Console>
    <File name="File" fileName="C:\Laguna\Logs\Laguna.log">
        <PatternLayout pattern="%d{dd-MM-yyy HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
    </File>
</Appenders>
<Loggers>
    <Root level="off">
        <AppenderRef ref="Console"/>
        <AppenderRef ref="File"/>
    </Root>
    <Logger name="br.com.flutuante.laguna" level="trace" additivity="false">
        <AppenderRef ref="Console"/>
        <AppenderRef ref="File"/>
    </Logger>
</Loggers>
</Configuration>
像这样使用它

logger.info("Arquivo de configuração carregado");

这可能是因为缺少根日志记录器,如果不需要任何其他日志,请尝试添加一个带有level=“OFF”的根日志记录器

编辑:不确定这是否是您想要的,它应该关闭除指定记录器之外的所有日志记录:

<Logger name="br.com.flutuante.laguna" level="trace"/>
<Root level="off">
    <AppenderRef ref="Console"/>
    <AppenderRef ref="File"/>
</Root>


或者只需更改根目录中的级别以设置默认日志记录级别,同时将指定的记录器设置为跟踪

我有根目录级别,但尝试将其删除以查看是否可以按我所需的方式工作。。。我又把它放在例子上了。我以前没有尝试过level='off',但即使这样,我仍然会得到重复的日志。感谢您的帮助。请澄清,如果您的记录器使用与Root相同的附加器,则无需再次指定它们,而是删除additivity=“false”并将其保留为空:
。不过,additivity=“false”也应该起作用……现在我只得到日志副本的第一行。。。现在对我来说已经足够了。谢谢你,伙计。
<Logger name="br.com.flutuante.laguna" level="trace"/>
<Root level="off">
    <AppenderRef ref="Console"/>
    <AppenderRef ref="File"/>
</Root>