当前位置: 首页 > 知识库问答 >
问题:

Spring Boot自定义日志记录程序仅用于文件

鲁华茂
2023-03-14

我在一个Spring Boot应用程序中定义了一对用于日志返回的自定义记录器。这个想法是将所有日志发送到一个文件中,而不是Spring Boot默认提供的标准控制台输出。我所看到的是,日志记录同时进入自定义文件和控制台,我找不到发生这种情况的任何原因。对两个自定义追加器的所有日志记录都处于调试和/或跟踪级别。我已经设置了logging.level.root=info,认为这样可以防止出现此日志记录,但这并没有帮助。

我已经为应用程序配置了标准的Spring Boot日志。所以logging.path和logging.file都设置好了。

<?xml version="1.0" encoding="UTF-8"?>
<!--
    LogBack configuration used by all services to create separate files for TRACE and SOAP logs. 
-->
<configuration>
    <!-- Include the basic Spring-Boot logback configuration. -->
    <include resource="org/springframework/boot/logging/logback/base.xml"/>

    <!-- An appender and logger for TRACE logging of method calls -->
    <appender name="TraceLoggingAppender" class="ch.qos.logback.core.FileAppender">
        <file>${LOG_PATH}/logs/trace.log</file>
        <encoder>
            <pattern>${FILE_LOG_PATTERN}</pattern>
        </encoder>
    </appender>

    <logger name="TraceLogging" additivity="false" level="trace">
        <appender-ref ref="TraceLoggingAppender"/>
    </logger>

    <!-- An appender and logger for SOAP envelope logging -->
    <appender name="SoapLoggingAppender" class="ch.qos.logback.core.FileAppender">
        <file>${LOG_PATH}/logs/soap.log</file>
        <encoder>
            <pattern>${FILE_LOG_PATTERN}</pattern>
        </encoder>
    </appender>

    <logger name="SoapLogging" additivity="false" level="debug">
        <appender-ref ref="SoapLoggingAppender"/>
    </logger>
</configuration>
private static final Log LOG = LogFactory.getLog("SoapLogging");
...
LOG.debug(soapMessage);

共有1个答案

白成济
2023-03-14

不包括base.xml,而是包括defaults.xml

<include resource="org/springframework/boot/logging/logback/defaults.xml" />
 类似资料:
  • 将PostSharp用于C#应用程序,我有以下场景: Namespace_ACustomLoggingMethod Namespace_B.DoThings thingMethod(实际上是几种不同的方法) DoMomthingMethod调用CustomLoggingMethod,它以所需的格式创建日志条目并且运行良好。正如预期的那样,日志条目将源记录为CustomLoggingMethod,我

  • 我的服务界面如下所示。 我希望保留在接口级别定义的注释,而不是方法实现。有办法得到这份工作吗?

  • 使用JBOSS 6.2 EAP作为应用服务器开发web应用程序。正在尝试自定义日志记录。要为指定位置的不同模块创建不同的日志。 做了一些家庭作业并尝试添加 在standalone的profile部分中。xml 并在同一文件中添加了记录器 此外,无法找到log4j。jboss文件夹中的xml。刚接触JBoss的人,猜一下遗漏了什么或走错了方向。有人能帮忙吗。

  • 当我在conf文件的虚拟主机部分中没有指定日志文件时,日志会写入httpd中指定的文件中。conf(=访问日志)。日志条目如下所示: SOMEIP--[22/Jan/2013:18:34:08 0100]“GET/HTTP/1.1”200 1752-“Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.17(KHTML,比如Gecko)Chrome/S

  • 问题内容: 我对jdk日志记录配置有疑问。我有一个使用JDK Logging输出消息的EJB(已部署到glassfish中)。因此,我使用具有以下代码的命名记录器: 我知道可以通过将以下行添加到Glassfish的logging.properties文件中来为记录器配置日志级别: 但是,如何为记录器指定输出文件?我想将来自名为“ org.imixs.workflow”的记录器的所有消息放入单独的文

  • 本文向大家介绍Powershell使用WINDOWS事件日志记录程序日志,包括了Powershell使用WINDOWS事件日志记录程序日志的使用技巧和注意事项,需要的朋友参考一下 通常,人们使用基于文件的日志。这样做没有什么问题,但是使用WINDOWS提供系统内部日志会更加简单。 如果你有管理权限,你可以随时创建一个新的日志: 该命令创造了一个名为Mylog的日志,这个事件源自”JobDUE”,”