记录 - Log4j2记录问题

时间:2018-01-18 14:33:25

标签: java spring-boot logging log4j2

我目前正在使用Log4j2进行日志记录的应用程序。

以下是Log4j2.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="debug" packages="myappsystem">
<Appenders>
    <MyDockerAppender name="STDOUT" />
</Appenders>
<Loggers>
    <logger name="org.springframework" level="ERROR"/>
    <logger name="myappsystem"  level="INFO"/>
    <Root level="ERROR" additivity="true" includeLocation="true">
        <AppenderRef ref="STDOUT"/>
    </Root>
</Loggers>

现在我面临的挑战是记录器似乎只在我做下面的事情时记录

private static final Logger LOGGER = LogManager.getLogger("myappsystem");
LOGGER.info("Entering method");

这里的问题是,它没有向我提供记录此特定行的类文件的详细信息。

所以,我尝试做类似下面的事情:

private static final Logger LOGGER = LogManager.getLogger(MyServiceImpl.class);

这似乎不起作用。 关于我哪里出错的任何想法?

1 个答案:

答案 0 :(得分:1)

您的记录器已配置为

<logger name="myappsystem"  level="INFO"/>

因此

LogManager.getLogger("myappsystem");

作品。

如果您使用

LogManager.getLogger(MyServiceImpl.class);

你必须配置一个以你在<logger name="org.springframework" level="ERROR"/>

中使用的完全限定的Classname(带包)开始的Logger

那就是。

<logger name="my.project.package.structure"  level="INFO"/>