小编Ano*_*oop的帖子

Logback JsonLayout在同一行上打印所有日志

我正在使用JsonLayout和Spring Boot来记录JSON格式的消息.我只希望将日志消息记录到控制台而不是日志文件.

我注意到JSON日志在同一行上连续记录.在生产时,这将是正常的,因为我们将日志发送到日志聚合器.但是,对于本地发展来说,这有点难以分析.

日志

{"timestamp":"2016-11-13 23:06:17.727","level":"INFO","thread":"qtp745835029-19","logger":"com.test.controller.TestController","message":"Info log:: printme 1","context":"default"}{"timestamp":"2016-11-13 23:06:17.727","level":"DEBUG","thread":"qtp745835029-19","logger":"com.test.controller.TestController","message":"Debug log:: printme","context":"default"}{"timestamp":"2016-11-13 23:06:17.727","level":"WARN","thread":"qtp745835029-19","logger":"com.test.controller.TestController","message":"Warn log:: printme","context":"default"}{"timestamp":"2016-11-13 23:06:17.727","level":"ERROR","thread":"qtp745835029-19","logger":"com.test.controller.TestController","message":"Error log:: printme","context":"default"}
Run Code Online (Sandbox Code Playgroud)

下面是logback配置
logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml" />
    <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.contrib.json.classic.JsonLayout">
            <jsonFormatter class="ch.qos.logback.contrib.jackson.JacksonJsonFormatter">
                <prettyPrint>false</prettyPrint>
            </jsonFormatter>
            <timestampFormat>yyyy-MM-dd' 'HH:mm:ss.SSS</timestampFormat>
        </layout>
    </appender>
    <logger name="jsonLogger" additivity="false" level="DEBUG">
        <appender-ref ref="consoleAppender"/>
    </logger>
    <root level="INFO">
        <appender-ref ref="consoleAppender"/>
    </root>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我错过了配置中的某些内容,以便它们在控制台上的不同行上登录.

感谢您的帮助.

logging logback spring-boot

12
推荐指数
3
解决办法
6624
查看次数

将 Spring Cloud Sleuth 中的 traceId 添加到响应中

我目前正在我们的项目中实施 Spring Cloud Sleuth。我需要将 traceId 添加到响应标头中。有没有办法做到这一点?

谢谢,
阿努普

spring-cloud spring-cloud-sleuth

9
推荐指数
4
解决办法
2万
查看次数

Spring云配置git刷新率行为

我正在尝试设置 Spring Cloud Config Server,并希望根据支持 git 存储库的更改启用属性自动刷新。

下面是服务器的 bootstrap.yml。

server:
  port: 8080

spring:
  application:
    name: my-configserver
  cloud:
    config:
      server:
        bootstrap: true
        git:
          uri: /Users/anoop/Documents/centralconfig
          refreshRate: 15
          searchPaths:  {application}/properties
    bus:
      enabled: true
Run Code Online (Sandbox Code Playgroud)

根据文档spring.cloud.config.server.git.refreshRate确定

配置服务器从 Git 后端获取更新配置数据的频率

我发现当配置更改时,配置客户端不会收到更改通知。我还没有为此配置 git hook,并希望仅设置属性即可完成这项工作。

阿努普

spring-cloud-config

5
推荐指数
1
解决办法
4908
查看次数