【问题标题】:How to add prefix to all logs written by Spring Boot?如何为 Spring Boot 编写的所有日志添加前缀?
【发布时间】:2016-03-28 22:17:30
【问题描述】:

我们正在开发一个多租户应用程序。我想在每条日志消息之前添加租户名称

.... [liquiforce] 新用户 John Kid 创建

..... [moreiq] 为项目 12 获取了 4 个样本

在上面的例子中

  1. "..." 表示通常的时间戳、进程 ID、日志级别、类名,例如 2016-03-28 21:15:35.219 WARN 8 --- [main] d.s.r.o.OperationImplicitParameterReader :
  2. [liquiforce] 是我的租户名称。第一个日志来自 liquiforce 租户的操作,第二个来自 moreiq 租户
  3. 我将参考 Spring 的 SecurityContext 中的租户信息

这是 spring boot 的所有部分,它使用默认的 logback 日志记录。

干杯, 罗希特

【问题讨论】:

  • 你考虑过使用 MDC 吗?
  • 使用 logback,您可以在 logback.xml 文件中配置您的日志模式。一些变量已经包含级别、日期、方法等。在您的代码中,您可以根据需要定义自己的变量。

标签: logging spring-boot logback


【解决方案1】:

如果您更喜欢在logback-spring.xml 中进行配置,请查看此question 中的答案。
如果您更喜欢使用 Java 代码进行配置,请查看此 question 中的答案。

无论如何,使用logback-spring.xml 更好,这里是一个例子。

<springProperty name="prefix" source="spring.prefix"/>
    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>${prefix} - %msg</file>
</appender>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-28
    • 1970-01-01
    • 2015-05-13
    • 1970-01-01
    • 2013-09-02
    • 2015-03-16
    • 2011-10-14
    相关资源
    最近更新 更多