在wildfly中获取spring框架日志

在wildfly中获取spring框架日志,spring,logging,wildfly,Spring,Logging,Wildfly,我试图让Spring4登录到Wildfly 8.2。我希望spring使用wildfly日志记录配置 我所能找到的所有例子都试图通过添加额外的日志框架和配置来使这个过程复杂化 为了繁荣,我是这样做的。为了让spring 4登录wildfly 8,我必须在standalone.xml文件中的日志子系统配置中添加以下内容 <add-logging-api-dependencies value="false"/> <use-deployment-logging-config valu

我试图让Spring4登录到Wildfly 8.2。我希望spring使用wildfly日志记录配置

我所能找到的所有例子都试图通过添加额外的日志框架和配置来使这个过程复杂化


为了繁荣,我是这样做的。

为了让spring 4登录wildfly 8,我必须在standalone.xml文件中的日志子系统配置中添加以下内容

<add-logging-api-dependencies value="false"/>
<use-deployment-logging-config value="false"/>

此外,还需要获取调试日志

<logger category="org.springframework">
                <level name="DEBUG"/>
</logger>

以下是完整的子系统配置:

    <subsystem xmlns="urn:jboss:domain:logging:2.0">
            <add-logging-api-dependencies value="false"/>
            <use-deployment-logging-config value="false"/>
            <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.apache.tomcat.util.modeler">
                <level name="WARN"/>
            </logger>
            <logger category="org.springframework">
                <level name="DEBUG"/>
            </logger>
            <logger category="org.jboss.as.config">
                <level name="DEBUG"/>
            </logger>
            <logger category="sun.rmi">
                <level name="WARN"/>
            </logger>
            <logger category="jacorb">
                <level name="WARN"/>
            </logger>
            <logger category="jacorb.config">
                <level name="ERROR"/>
            </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>
        </subsystem>

答案取决于是什么原因导致部署在部署中中断

如果您的类路径中有以下任何日志记录类可能导致日志记录中断:logging.properties、jboss-logging.properties、log4j.properties、log4j.xml、jboss-log4j.xml

例如,只要运行此代码(在应用程序或调试器中),它就会显示文件是否在类路径中

getClass().getResource(“/logging.properties”)

对上面指定的每个日志文件重复上述操作,如果其中任何一个文件返回非空值,那么您已经找到了罪魁祸首

在该阶段,您可以删除问题日志文件,或者使用Rian的建议添加
(在该场景中,您不需要使用添加日志api依赖项)


如果您有多个日志jar文件,另一个潜在问题是。请记住,除非您使用

,否则wildfly将自动提供其中的几个问题。我遇到了类似的问题,多亏了Rian发布的第一个答案,我的问题才得以解决。以下是我的工作制度:

  • 服务器:jBoss EAP 7.1
  • 框架:Spring5
  • 配置via:yml
  • 模块:每个模块都有自己独立的战争部署
  • 要求:每个模块必须登录到一个单独的文件中
在yml文件中,我添加了以下行,以将日志输出设置为与standar server.log不同的文件:

logging:
  file: ${SPF_LOGGING_PATH:app-logs/}log-@project.artifactId@-app.log
  pattern:
    console: "%d %-5level %logger : %msg%n"
    file: "%d %-5level [%thread] %logger : %msg%n"
使用此配置,将在输出目录中创建一个文件,但不会写入任何文本。因此,在standalone.xml文件的logging subsystem部分添加这几行,它开始从每个模块写入文本:

<add-logging-api-dependencies value="false"/>
<use-deployment-logging-config value="false"/>

希望这能帮助任何面临同样问题的人。
干杯

我认为您不需要更改
。我有时间时会确认。