java - Wildfly 日志记录配置文件设置 ( logger.debug ("test") )

标签 java logging wildfly jboss-logging jboss-cli

我想为我的应用程序日志创建配置文件

我需要使用logger.debug()但如果我写下standalone.xml文件 DEBUG 我得到太多行

来自 <level name="INFO"/><level name="DEBUG"/>

.....................
    <subsystem xmlns="urn:jboss:domain:logging:3.0">
        <console-handler name="CONSOLE">
            <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="org.jboss.as.config">
            <level name="DEBUG"/>
        </logger>
        <logger category="sun.rmi">
            <level name="WARN"/>
        </logger>
        <root-logger>
            <level name="DEBUG"/>
            <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>
    </subsystem>
......................

我可以创建一个仅启用应用程序调试日志记录的配置文件吗?

我创建了我的个人资料并添加到我的 MANIFEST.MF 但它不起作用

<logging-profiles>
   <logging-profile name="accounts-app-profile">
       <console-handler name="CONSOLE">
           <level name="DEBUG"/>
           <formatter>
              <named-formatter name="COLOR-PATTERN"/>
            </formatter>
       </console-handler>
       <file-handler name="ejb-trace-file">
           <level name="DEBUG"/>
           <file relative-to="jboss.server.log.dir" path="ejb-trace.log"/>
       </file-handler>
       <logger category="com.company.accounts.ejbs">
            <level name="DEBUG"/>
            <handlers>
                <handler name="ejb-trace-file"/>
            </handlers>
       </logger>
       <formatter name="COLOR-PATTERN">
           <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
       </formatter>
</logging-profile>

list .MF

Manifest-Version: 1.0
Logging-Profile: accounts-app-profile

调用记录器

final static Logger logger = Logger.getLogger("com.company.accounts.ejbs");

logger.debug("debug");
logger.info("info");

文件ejb-trace.log创建但不写入内部

最佳答案

您尝试执行的操作不需要日志记录配置文件。假设类别 com.company.accounts.ejbs 并假设您希望将来自应用程序的消息记录到它们自己的文件中,以下 CLI 命令将

/subsystem=logging/file-handler=ejb-trace-file:add(level=DEBUG, file={relative-to=jboss.server.log.dir, path=ejb-trace.log}, autoflush=true)
/subsystem=logging/logger=com.company.accounts.ejbs:add(level=DEBUG, handlers=[ejb-trace-file], use-parent-handlers=false)

如果您还希望将消息记录到控制台处理程序或 server.log,您可以删除 use-parent-handlers=false 属性或将其设置为 true .

关于java - Wildfly 日志记录配置文件设置 ( logger.debug ("test") ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47416272/

相关文章:

java - 如何使用 org.jdom2 获取文档的 xml 版本?

docker - 如何在 bluemix 单个容器上访问 Wildfly 的 8080 和 9990 端口?

jndi - 在 Wildfly 9 中显示所有 JNDI 名称

JBoss野飞: Starts but can't connect?

java - 如何使用 void 编写 JUnit 3 测试

java - 如何模拟从类级别对象调用的方法

python - logging.fileConfig() 在谷歌应用引擎上表现得很奇怪

python - 测试 - 如何让所有记录器打印输出

logging - Klogd 如何与 syslogd 通信?

java - 使用 Node JS (Meteor JS) 执行 Java 类