当前位置: 首页 > 面试题库 >

覆盖WildFly中的日志记录

谢学名
2023-03-14
问题内容

我使用了tomcat,并简单地覆盖了默认的日志系统。如何在我的Spring应用程序中启用Wildfly上的Logback日志记录?

我在tomcat上的Logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <encoder>
            <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
        </encoder>
    </appender>

    <logger name="org.springframework" level="WARN" />
    <logger name="com.citronium.planstery" level="INFO" />
    <logger name="org.apache.http.impl.conn.tsccm" level="ERROR" />

    <root level="INFO">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>

问题答案:

您可以使用logback来配置应用程序中的日志记录。您不能使用logback为服务器配置日志记录。

要在配置中使用logback,您需要将更add-logging-api-dependencies改为false或创建一个jboss-deployment-structure.xml不包含子系统的。您还需要在部署中包括logb​​ack和slf4j。

更改的第一个选项add-logging-api-dependencies是所有部署的全局设置。以下CLI命令将更改该值:

/subsystem=logging:write-attribute(name=add-logging-api-dependencies,value=false)

该选项根本不会将任何隐式日志记录依赖项添加到您的部署中。

使用a的第二个选项jboss-deployment-structure.xml将仅对您的部署禁用日志记录子系统。以下是一个示例文件:

<jboss-deployment-structure>
  <deployment>
     <!-- exclude-subsystem prevents a subsystems deployment unit processors running on a deployment -->
     <!-- which gives basically the same effect as removing the subsystem, but it only affects single deployment -->
     <exclude-subsystems>
        <subsystem name="logging" />
    </exclude-subsystems>
  </deployment>
</jboss-deployment-structure>


 类似资料:
  • 问题内容: 我有一个日志文件,其中添加了以下附加程序: 事实是,每次我运行我的应用程序时,其他日志记录信息都会附加到同一日志文件中。每次我该怎么做才能覆盖文件? 问题答案: 使用RollingFileAppender。

  • 我正在开发一个应用程序,使用我的另一个项目作为maven依赖项。 期望 我希望我的依赖项使用自己的回退.xml登录自己的文件。我希望应用程序使用自己的 logback.xml文件登录到控制台和一个与依赖项不同的文件。我希望这两个文件都位于应用程序jar附近的日志文件夹中。 它现在做什么 但是目前,应用程序和依赖项都使用应用程序的logback.xml,所有内容都记录在控制台和同一个文件中。 我该如

  • 我希望在Spring Ansi着色日志中使用不同的颜色来区分INFO、DEBUG和TRACE,因为它们目前都设置为绿色(见下表) 从这里的文档中https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-logging-color-coded-outpu

  • 我们正在将SonarQube 5.1与Jacoco maven插件0.7.4一起使用,我们所有的slf4j日志记录语句(如显示仅覆盖了2个分支中的1个。我知道这是因为slf4j在内部执行,这很好,但我们不希望这抛弃我们的数字。我们对测试 slf4j 不感兴趣,我们宁愿不对不同的日志记录级别多次运行每个测试。 那么,我们如何告诉声纳和/或Jacoco将这些线路排除在覆盖范围之外呢?它们都有可配置的文

  • 问题内容: 我正在使用Log4j2 ver 2.3 log4j2.xml看起来像: 当前一天的日志被当天的某些日志覆盖时,所有方法都可以正常工作到第二天。 示例:catalina.2018-03-21.log昨天(3月21日)很好,但是今天被2018-03-22的某些日志覆盖,当时catalina.2018-03-22.log包含了今天(3月22日)的其余日志) 有什么想法吗? 问题答案: Log

  • 有没有一种方法可以在不更新host.json文件的情况下覆盖Azure函数应用程序的默认日志级别?我希望我的函数只在dev环境中将跟踪日志传递给应用程序洞察。我在想,如果一个环境变量可以设置,函数将知道什么时候传递日志。