当前位置: 首页 > 知识库问答 >
问题:

在控制台中禁用自定义记录器打印(Log4j2)

柯波娃
2023-03-14

我们可以dsable日志打印一些自定义创建记录器吗?

<Appenders>
    <File name="file" fileName="app.log">
        <PatternLayout>
            <Pattern>%d %p %c{1.} [%t] %m %ex%n</Pattern>
        </PatternLayout>
    </File>

    <Console name="STDOUT" target="SYSTEM_OUT">
        <PatternLayout pattern="%d{yyyy-mm-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </Console>


</Appenders>

<Loggers>

    <logger name="metrics" level="info" additivity="true">
        <AppenderRef ref="file"/>
    </logger>      

    <root level="info">
        <AppenderRef ref="STDOUT"/>
    </root>

</Loggers>

我想禁用文件记录器控制台中的打印消息

共有1个答案

芮意
2023-03-14

理解的关键是http://logging.apache.org/log4j/2.x/manual/configuration.html#additivity

根记录器是记录器“度量”的父记录器。然后将“metrics”的日志事件传递给根记录器的appender(“stdout”)。这就是所谓的可加性。可以通过将记录器“metrics”上的additivity属性设置为false来禁用它。

<logger name="metrics" level="info" additivity="false">
        <AppenderRef ref="file"/>
</logger>
 类似资料:
  • 我试图将命令提示符中打印出来的信息从JAVA控制台显示到C#。当在JAVA中发出System.out.println时,它可以很好地工作,但是它不能用于logger.info print out。 注意:当我通过windows命令提示符(CMD>java-jar testbed.jar)运行它时,记录器信息会在命令提示符中打印出来。 JAVA来做一个简单的增量和减量数字,当按下按钮进行增量或减量时

  • 好的,所以我试图使内存appender(简单的记录器,日志到ArrayList而不是控制台或文件),但现在我想禁用它从打印到控制台。 问题和网站,到目前为止我已经读过了(但我仍然不知道它是什么)。。 StackOverFlow问题log4j:将特定类的输出记录到特定附加器 它包含了我想要实现的所有部分,但我仍然有点困惑。 我也读了这段Logback或Log4j附加解释的状态... 但是,如果log

  • 我有一个Web应用程序,使用log4j。我在 /WEB-INF/classes/log4j.properties文件中配置了一个自定义记录器,如下所示: 日志消息按预期写入server.log,但我试图找到一种方法来控制自定义记录器日志级别通过glassfish服务器。 我尝试从命令中创建glassfish中的记录器: 但是,即使asadmin命令将记录器设置为警告,所有INFO消息仍然会被记录。

  • 无需创建特定的配置。因为我使用而不必亲自配置日志记录。

  • 我有一个使用slf4j进行日志记录的应用程序。现在我想添加一个功能,每当我记录错误时,就会调用一个特定的url。目前,我在应用程序级别添加了一个包装器方法,该方法发送http请求,然后调用logger方法。但这样我就错过了一些输出,一些异常只是被记录下来,而没有发送相应的请求。我正在尝试创建我的自定义logger类。我的问题是应该扩展哪些类(或要实现的接口)。我无法扩展Logger类,因为它的构造

  • 我已经为我的REST API添加了一个主要的路由段,它是在Node中编写的。js并在Lambda函数上运行。我还为X射线启用了API网关跟踪。我想将sql查询计时作为X-Ray控制台的一个子段,所以我使用了AWSXRay。CaptureAyncFunc函数,并为所有sql查询添加了它,并且我能够打印跟踪日志。以下屏幕截图显示了GET请求的段和子段。 我想在AWS X-Ray管理控制台中看到亚节。在