【问题标题】:root-logger level and console-handler level根记录器级别和控制台处理程序级别
【发布时间】:2020-03-27 08:26:47
【问题描述】:

我的standalone.xml 设置如下:

<subsystem xmlns="urn:jboss:domain:logging:6.0">
<console-handler name="CONSOLE">
    <!--<level name="INFO"/>-->
    <level name="DEBUG"/>
    <formatter>
        <named-formatter name="COLOR-PATTERN"/>
    </formatter>
</console-handler>
<periodic-rotating-file-handler name="FILE" autoflush="true">
    <formatter>
        <named-formatter name="PATTERN"/>
    </formatter>
    <file relative-to="jboss.server.log.dir" path="server.log"/>
    <suffix value=".yyyy-MM-dd"/>
    <append value="true"/>
</periodic-rotating-file-handler>
<logger category="com.arjuna">
    <level name="WARN"/>
</logger>
<logger category="io.jaegertracing.Configuration">
    <level name="WARN"/>
</logger>
<logger category="org.jboss.as.config">
    <level name="DEBUG"/>
</logger>
<logger category="sun.rmi">
    <level name="WARN"/>
</logger>
<root-logger>
    <level name="INFO"/>
    <handlers>
        <handler name="CONSOLE"/>
        <handler name="FILE"/>
    </handlers>
</root-logger>
<formatter name="PATTERN">
    <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
</formatter>
<formatter name="COLOR-PATTERN">
    <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
</formatter>

在我的 EXM010 课上,

private final static Log logger = LogFactory.getLog(EXM010.class);
public void method1(){
     logger.debug("see debug?");
     logger.info("see info?");

1) 我发现如果 root-logger 级别是“INFO”,那么即使控制台处理程序级别是“DEBUG”,也就是“查看调试?”未显示,我必须将&lt;root-logger&gt;&lt;level name="DEBUG"/&gt; 设置为“查看调试?”要显示的消息,为什么?

2) 如果我将 root-logger 级别设置为“DEBUG”,那么将显示太多的 Wildfly 调试消息......任何让 Wildfly 调试消息级别为“INFO”的方法,只是我的类 EXM010 或我的应用程序代码级别为“DEBUG”?

【问题讨论】:

    标签: logging wildfly


    【解决方案1】:

    您需要添加一个记录器,并将其设置为记录器的调试级别。例如,如果您的班级名称是 org.example.EXM010.class,您需要添加如下记录器:

    /subsystem=logging/logger=org.example.EXM010:add(level=DEBUG)
    

    如果您想查看同一个包的更多调试消息,您可以添加org.example 记录器。

    最好使用 CLI 或 Web 管理控制台来执行此操作。通过这种方式添加或编辑记录器时,您无需重新启动或重新加载服务器。

    【讨论】:

    • 那么有什么用呢?好像没有看到这个设置...
    • 您还必须更改控制台处理程序的级别以进行调试。但是由于根记录器设置为 INFO,因此将任何未定义的记录器设置为 INFO。因此,您需要定义记录器并说您希望在调试时记录这些消息。
    猜你喜欢
    • 2018-05-05
    • 1970-01-01
    • 2014-07-03
    • 2014-11-24
    • 1970-01-01
    • 2011-06-03
    • 2018-06-13
    • 1970-01-01
    • 2011-10-22
    相关资源
    最近更新 更多