Google Spring Cloud logback-json-appender 隐藏线程或日志等信息class
Google Spring Cloud logback-json-appender hides information like thread or logging class
情况:
Spring-使用 Logback 进行日志记录的启动应用程序。
部署在 google 云端 运行。
Logback 配置包括 CONSOLE_JSON
,如 here 所述,为云 运行 实例预配置 json appender。
要查看我的应用程序的日志,我正在使用 Cloud 运行 Logs。
考虑到来自 spring 的默认日志,我有 package/class 消息和其他信息,写在行中。
Spring-启动日志示例:
使用预配置的附加程序切换到 json 格式,我错过了一些信息,例如带有 class 名称或线程名称的缩短包。
我希望使用现有的 console_json appender 来实现这一点。
不幸的是,我必须使用 google Logs Explorer
然后查看一个名为 jsonPayload
的 json 条目,从可用性的角度来看这很烦人
期望输出:
- 以某种方式用 logback 覆盖消息格式以使消息包含线程和 package/class 信息,最好不要编写自己的附加程序
感谢任何帮助。
我的 Logback 文件如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<include resource="com/google/cloud/spring/logging/logback-json-appender.xml"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
<springProperty scope="context" name="SERVICE_NAME" source="logging.service"/>
<springProperty scope="context" name="APP_NAME" source="logging.app"/>
<springProperty scope="context" name="ENVIRONMENT" source="logging.environment"/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %highlight %cyan(%-5level) %logger{30} - %msg%n</pattern>
</encoder>
</appender>
<springProfile name="npr">
<root level="INFO">
<appender-ref ref="CONSOLE_JSON"/>
</root>
</springProfile>
<springProfile name="prd">
<root level="INFO">
<appender-ref ref="CONSOLE_JSON"/>
</root>
</springProfile>
<springProfile name="local">
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</springProfile>
</configuration>
我看到 2 个选项。
- 自己写一个Appender,以备不时之需。
- 作为llompalles mentioned i give it a try with a GitHub Issue
情况:
Spring-使用 Logback 进行日志记录的启动应用程序。
部署在 google 云端 运行。
Logback 配置包括 CONSOLE_JSON
,如 here 所述,为云 运行 实例预配置 json appender。
要查看我的应用程序的日志,我正在使用 Cloud 运行 Logs。
考虑到来自 spring 的默认日志,我有 package/class 消息和其他信息,写在行中。
Spring-启动日志示例:
使用预配置的附加程序切换到 json 格式,我错过了一些信息,例如带有 class 名称或线程名称的缩短包。
我希望使用现有的 console_json appender 来实现这一点。
不幸的是,我必须使用 google Logs Explorer
然后查看一个名为 jsonPayload
的 json 条目,从可用性的角度来看这很烦人
期望输出:
- 以某种方式用 logback 覆盖消息格式以使消息包含线程和 package/class 信息,最好不要编写自己的附加程序
感谢任何帮助。
我的 Logback 文件如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<include resource="com/google/cloud/spring/logging/logback-json-appender.xml"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
<springProperty scope="context" name="SERVICE_NAME" source="logging.service"/>
<springProperty scope="context" name="APP_NAME" source="logging.app"/>
<springProperty scope="context" name="ENVIRONMENT" source="logging.environment"/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %highlight %cyan(%-5level) %logger{30} - %msg%n</pattern>
</encoder>
</appender>
<springProfile name="npr">
<root level="INFO">
<appender-ref ref="CONSOLE_JSON"/>
</root>
</springProfile>
<springProfile name="prd">
<root level="INFO">
<appender-ref ref="CONSOLE_JSON"/>
</root>
</springProfile>
<springProfile name="local">
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</springProfile>
</configuration>
我看到 2 个选项。
- 自己写一个Appender,以备不时之需。
- 作为llompalles mentioned i give it a try with a GitHub Issue