Skip to content

Commit b854381

Browse files
authored
refactor appenders (#7)
1 parent 9108f31 commit b854381

File tree

6 files changed

+72
-69
lines changed

6 files changed

+72
-69
lines changed

README.md

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
1-
Данный репозиторий содержит файлы, которые повторяются от проекта к проекту и могут быть шаблонизированы.
1+
Данный репозиторий содержит шаблоны (используемых в сервисах домена) ресурсов
22

3-
Для этого в pom нужно добавить:
3+
#Переопределяемые настройки `logback`
44

5+
`application.yml`
6+
```yaml
7+
logback:
8+
appender: JSON_K8S_CONSOLE # возможные значения: DEFAULT_CONSOLE || COLOR_CONSOLE || JSON_K8S_CONSOLE
59
```
6-
<properties>
7-
<server.port>8022</server.port>
8-
<dockerfile.base.service.tag>f26fcc19d1941ab74f1c72dd8a408be17a769333</dockerfile.base.service.tag>
9-
<damsel.version>1.151-4018c41</damsel.version>
10-
<shared.resources.version>1.0.0</shared.resources.version>
11-
...
1210
11+
#`pom.xml`
12+
```xml
1313
<dependency>
1414
<groupId>dev.vality</groupId>
1515
<artifactId>shared-resources</artifactId>
1616
<version>${shared.resources.version}</version>
1717
</dependency>
18-
19-
...
20-
18+
```
19+
```xml
2120
<resources>
2221
<resource>
2322
<directory>${project.build.directory}/maven-shared-archive-resources</directory>
@@ -39,7 +38,8 @@
3938
<filtering>true</filtering>
4039
</resource>
4140
</resources>
42-
41+
```
42+
```xml
4343
<plugin>
4444
<groupId>org.apache.maven.plugins</groupId>
4545
<artifactId>maven-remote-resources-plugin</artifactId>
@@ -67,8 +67,3 @@
6767
</executions>
6868
</plugin>
6969
```
70-
71-
после этого можно удалить локальные файлы:
72-
1. Dockerfile
73-
1. git.properties
74-
1. logback-spring.xml

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
</parent>
1212

1313
<artifactId>shared-resources</artifactId>
14-
<version>1.0.0</version>
14+
<version>1.0.1</version>
1515
<packaging>jar</packaging>
1616

1717
<name>Java shared resources</name>

src/main/resources/Dockerfile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# @dockerfile.Template@
21
FROM openjdk:15-jdk-slim
32

43
RUN useradd -s /bin/false -U -u 20000 vality
@@ -7,7 +6,7 @@ COPY --chown=vality:vality @artifactId@-@[email protected] /opt/@artifactId@/@artifac
76

87
USER vality:vality
98

10-
CMD ["java", "-Xmx256m", "-jar","/opt/@artifactId@/@[email protected]"]
9+
CMD ["java", "-jar","/opt/@artifactId@/@[email protected]"]
1110

1211
EXPOSE @exposed.ports@
1312

src/main/resources/dev/vality/sharedresources/logback/console-appender.xml

Lines changed: 0 additions & 30 deletions
This file was deleted.

src/main/resources/dev/vality/sharedresources/logback/properties-appender.xml

Lines changed: 0 additions & 6 deletions
This file was deleted.
Lines changed: 58 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,70 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<configuration>
3-
<property name="LOG_APPENDERS" value="${logbackAppenders:-CONSOLE}"/>
43
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
5-
<include resource="dev/vality/sharedresources/logback/console-appender.xml"/>
6-
<include resource="dev/vality/sharedresources/logback/properties-appender.xml"/>
4+
<springProperty scope="context" name="logbackAppender" source="logback.appender" defaultValue="COLOR_CONSOLE"/>
5+
<springProperty scope="context" name="loggingLevelRoot" source="logging.level.root" defaultValue="INFO"/>
6+
7+
<appender name="DEFAULT_CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
8+
<encoder>
9+
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
10+
<charset>${CONSOLE_LOG_CHARSET}</charset>
11+
</encoder>
12+
</appender>
13+
14+
<appender name="COLOR_CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
15+
<layout class="ch.qos.logback.classic.PatternLayout">
16+
<Pattern>
17+
%black(%d{ISO8601}) [%blue(%t)] %magenta(${PID:- }) %highlight(%-5level) %cyan(%logger{36}).%yellow(%M):%white(%L) — %m%n%wEx
18+
</Pattern>
19+
</layout>
20+
</appender>
21+
22+
<appender name="JSON_K8S_CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
23+
<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
24+
<providers>
25+
<mdc/>
26+
<pattern>
27+
<pattern>
28+
{
29+
"@timestamp": "%date{yyy-MM-dd'T'HH:mm:ss.SSSXXX, UTC}",
30+
"@severity": "%level",
31+
"thread_name": "%thread",
32+
"logger_name": "%logger",
33+
"message": "%message"
34+
}
35+
</pattern>
36+
</pattern>
37+
<stackTrace>
38+
<throwableConverter class="net.logstash.logback.stacktrace.ShortenedThrowableConverter">
39+
<maxDepthPerThrowable>30</maxDepthPerThrowable>
40+
<maxLength>2048</maxLength>
41+
<shortenedClassNameLength>20</shortenedClassNameLength>
42+
<exclude>^sun\.reflect\..*\.invoke</exclude>
43+
<exclude>^net\.sf\.cglib\.proxy\.MethodProxy\.invoke</exclude>
44+
<rootCauseFirst>true</rootCauseFirst>
45+
</throwableConverter>
46+
</stackTrace>
47+
</providers>
48+
</encoder>
49+
</appender>
750

851
<root level="${loggingLevelRoot}">
9-
<if condition='property("LOG_APPENDERS").contains("CONSOLE")'>
52+
<if condition='"${logbackAppender}".equals("COLOR_CONSOLE")'>
1053
<then>
11-
<appender-ref ref="CONSOLE"/>
12-
</then>
13-
</if>
14-
<if condition='property("LOG_APPENDERS").contains("FILE")'>
15-
<then>
16-
<appender-ref ref="FILE"/>
54+
<appender-ref ref="COLOR_CONSOLE"/>
1755
</then>
56+
<else>
57+
<if condition='"${logbackAppender}".equals("JSON_K8S_CONSOLE")'>
58+
<then>
59+
<appender-ref ref="JSON_K8S_CONSOLE"/>
60+
</then>
61+
<else>
62+
<appender-ref ref="DEFAULT_CONSOLE"/>
63+
</else>
64+
</if>
65+
</else>
1866
</if>
1967
</root>
2068

21-
<logger name="dev.vality" level="ALL"/>
22-
<logger name="dev.vality.woody" level="ALL"/>
23-
2469
<jmxConfigurator/>
2570
</configuration>

0 commit comments

Comments
 (0)