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

配置spring cloud sleuth和logback以记录行李字段

金慈
2023-03-14

在spring cloud sleuth文档之后,我用以下内容配置了一个应用程序属性:

spring.sleuth.baggage.remote-fields=x-header-to-log
spring.sleuth.baggage.correlation-fields=x-header-to-log

然后我添加了一个logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <include resource="org/springframework/boot/logging/logback/defaults.xml"/>

  <springProperty scope="context" name="springAppName" source="spring.application.name"/>

  <!-- You can override this to have a custom pattern -->
  <property name="CONSOLE_LOG_PATTERN"
      value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %X{x-header-to-log:-} %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>

  <!-- Appender to log to console -->
  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
      <!-- Minimum logging level to be presented in the console logs-->
      <level>DEBUG</level>
    </filter>
    <encoder>
      <pattern>${CONSOLE_LOG_PATTERN}</pattern>
      <charset>utf8</charset>
    </encoder>
  </appender>

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

但是,在发出请求时不会记录标题

共有1个答案

李勇
2023-03-14

我犯了一个新手错误,只需要在包含默认值和其他附加程序之前定义CONSOLE_LOG_PATTERN

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <springProperty scope="context" name="springAppName" source="spring.application.name"/>

  <!-- You can override this to have a custom pattern -->
  <property name="CONSOLE_LOG_PATTERN"
      value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(%X{x-header-to-log:-}){cyan} %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>

  <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
  <include resource="org/springframework/boot/logging/logback/console-appender.xml" />

  <appender name="SENTRY" class="io.sentry.logback.SentryAppender" />

  <root level="INFO">
    <appender-ref ref="CONSOLE"/>
    <appender-ref ref="SENTRY" />
  </root>
</configuration>
 类似资料:
  • 我有以下情况:一个使用日志的Spring启动应用程序,以及已经在应用程序中配置的几个日志记录属性 我想添加其他只能通过文件可用的配置选项,但是一旦我将此文件添加到类路径(无论它被命名为还是),它就会覆盖中的所有内容,并且所有日志记录级别/模式以及那里定义的其他选项都不再有效 - 似乎在添加的所有选项 被忽略,我需要在xml文件中重新添加它们而不是yml。 我的问题是:是否可以合并这两个配置?我的意

  • 对于console我有一个工作良好的logback.xml,它记录了所有的调试级语句。 现在我想修改它,以禁止从某个包的所有记录器进行日志记录。 例如,假设我想从属于org.apache.zookeeper的类中取消所有信息级日志 事先谢谢!。

  • 问题内容: 我想在我的应用程序中将slf4j + logback用于两个目的-日志和审计。 对于日志记录,我以常规方式记录日志: 对于审计,我创建一个特殊的命名记录器并登录到它: 登录配置: 问题:通过审核记录器记录的消息出现两次-一次在AUDIT_LOGGER下,一次在根记录器下。 14:41:57.975 [main]调试com.gammay.example.Main–> main() 14:

  • 我正在尝试使用groovy配置文件进行GraalVM编译的应用程序使用的logback。 当运行它并正常编译它时,一切都很好,但当我试图针对Graal进行编译时,我面临着一些我无法理解如何解决的问题。 因此,在没有任何特定配置传递给Graal的情况下,我在编译过程中遇到以下错误: 我尝试了非常懒惰的方法,通过这样做来允许在构建期间初始化类: 这只会导致其他各种与日志存储相关的类需要这个选项,所以我

  • 问题内容: 我有一个要登录的Maven&Spring应用程序。我热衷于使用SLF4J。 我想将所有配置文件放入包含log4j.xml的目录{classpath} / config中,然后使用spring bean进行初始化。 例如 但是,我得到此警告,没有日志记录。 log4j:WARN找不到记录器的附加程序(org.springframework.context.support.ClassPat

  • 问题内容: 如何配置Logback以将记录器的不同级别记录到不同的目的地? 例如,给定以下Logback配置,Logback会将消息记录到并将消息记录到吗? (请注意,此示例是第3章:Logback配置中所示示例的变形)。 问题答案: 更新:有关使用Groovy的基于所有配置的方法,请参见DeanHiller的答案。 好的,这是我最喜欢的xml方法。我为Eclipse版本执行此操作,因此我可以 单