代码之家  ›  专栏  ›  技术社区  ›  user1169587

根记录器级别和控制台处理程序级别

  •  0
  • user1169587  · 技术社区  · 5 年前

    我的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) 我发现如果根记录器级别为“INFO”,那么即使控制台处理程序级别为“DEBUG”,也不会显示“see DEBUG?”,我必须设置 <root-logger><level name="DEBUG"/> 要显示“seedebug?”消息,为什么?

    2) 如果我将根记录器级别设置为“DEBUG”,那么显示的wildfly调试消息太多了。。。。有什么方法可以让wildfly调试消息级别为“INFO”,只是我的类EXM010或我的应用程序代码级别为“debug”?

    0 回复  |  直到 5 年前
        1
  •  0
  •   James R. Perkins zlinks    5 年前

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

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

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

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