首页 > 解决方案 > 如何在 JBOSS EAP 7.1 中为 Spring Boot 应用程序配置带有 logback 的 Json 格式日志?

问题描述

我正在尝试将 Spring Boot Web 应用程序部署到 Jboss EAP 7.1 服务器。当应用程序在 Tomcat(spring boot 嵌入式 tomcat 服务器)中运行时,默认情况下它会生成 Json 格式的日志,因为我已经使用 slf4j 配置了 logback。

但是当我尝试在 JBOSS 中部署相同的内容时,jboss 没有编写任何 Json 格式的日志记录。我在网上查了一下,发现 JBOSS EAP 7.1 中不支持开箱即用的 logback。

于是找了一篇文章在JBOSS中进行配置。[ https://blog.anotheria.net/devops/enable-logback-in-jboss/

现在我看到默认日志管理器是 logback 但输出仍然与普通文本相同?

预期的 O/P:

{"timeStamp":"2020-04-27T21:38:28.411+05:30","message":"This is a warn message","logger":"com.example.demo.WelcomeController","thread":"http-nio-8080-exec-3","level":"WARN"}
{"timeStamp":"2020-04-27T21:38:28.415+05:30","message":"This is an error message","logger":"com.example.demo.WelcomeController","thread":"http-nio-8080-exec-3","level":"ERROR"}

当前 O/P:

2020-04-27 21:12:17,787 INFO  [stdout] (default task-1) 21:12:17.787 [default task-1] DEBUG com.example.demo.WelcomeController - This is a debug message

2020-04-27 21:12:17,788 INFO  [stdout] (default task-1) 21:12:17.788 [default task-1] INFO com.example.demo.WelcomeController - This is an info message

2020-04-27 21:12:17,790 INFO  [stdout] (default task-1) 21:12:17.790 [default task-1] WARN com.example.demo.WelcomeController - This is a warn message

2020-04-27 21:12:17,793 INFO  [stdout] (default task-1) 21:12:17.791 [default task-1] ERROR com.example.demo.WelcomeController - This is an error message

只有上面提到的文章和我的配置之间的变化是 logback 版本 -

<module xmlns="urn:jboss:module:1.5" name="ch.qos.logback">
    <resources>
        <resource-root path="logback-classic-1.2.3.jar"/>  
        <resource-root path="logback-core-1.2.3.jar"/>  
    </resources>

    <dependencies> 
        <module name="org.slf4j" />  
        <module name="javax.api" />  
        <module name="javax.mail.api" />  
    </dependencies>
</module>

那么我需要做任何额外的改变吗?我怎样才能达到所需的输出。

在 Jboss 标签中没有得到任何响应,所以添加 spring-boot 标签,如果有人可以提供帮助。

标签: spring-bootjbossjboss7.x

解决方案


推荐阅读