Comments 9
В названии опечатка — Spring, не Sprnig.
-1
вы решили проблему не с той стороны: не проще ли писать логи в json формате, как собственно и положено делать в 2020 году?
-2
Спорное заявление!
Json избыточен. Форматирование отнимает ресурсы у биснеса. Логирование в консоль нечитаемое. Как то так …
Json избыточен. Форматирование отнимает ресурсы у биснеса. Логирование в консоль нечитаемое. Как то так …
+3
Вот ни разу не спорное. json per line формат широко распространен и супер-удобен при централизации логов. Настроить логирование в json в том-же spring-boot — дело двух минут:
build.gradle.kts:
configurations {
all {
exclude("org.springframework.boot", "spring-boot-starter-logging")
}
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-log4j2")
}
log4j2-spring.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT" follow="true">
<JsonLayout compact="true" eventEol="true" properties="false" stacktraceAsString="true">
<!-- Zipkin
<KeyValuePair key="trace" value="$${ctx:X-B3-TraceId:-}"/>
<KeyValuePair key="span" value="$${ctx:X-B3-SpanId:-}"/>
<KeyValuePair key="parent" value="$${ctx:X-B3-ParentSpanId:-}"/>
<KeyValuePair key="exportable" value="$${ctx:X-Span-Export:-}"/>
-->
</JsonLayout>
</Console>
</Appenders>
<Loggers>
<Logger name="io.micrometer" level="warn"/>
<Logger name="org.apache.kafka" level="warn"/>
<Logger name="org.hibernate.validator" level="warn"/>
<Logger name="org.springframework" level="warn"/>
<Root level="info">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
-1
Имхо, полумера т.к. не только стектрейсы многострочные. Переводы строк могут вылезти откуда угодна – пользовательский ввод, сторонние библиотеки и т.д. Замарачиваться с разбором многострочных логов все равно придется.
+3
Системы сбора логов умеют их «склеивать» таким образом, что несколько строк отображаются в итоге как одно событие
+ многострочное событие порой выглядит намного читабельнее
+ многострочное событие порой выглядит намного читабельнее
0
Sign up to leave a comment.
Java: свертывание многострочных логов в однострочный лог с помощью Spring и логгера Logback или Log4j2