Add async logging with log4j2 and disruptor
This commit is contained in:
parent
636e5c8b6e
commit
6a509e8462
|
@ -31,3 +31,6 @@ build/
|
|||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
|
||||
### Application logs ###
|
||||
logs/
|
||||
|
|
30
pom.xml
30
pom.xml
|
@ -20,6 +20,18 @@
|
|||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
|
||||
<!-- Exclude default loggers -->
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-logging</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>ch.qos.logback</groupId>
|
||||
<artifactId>logback-classic</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
|
@ -53,6 +65,24 @@
|
|||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.lmax</groupId>-->
|
||||
<!-- <artifactId>disruptor</artifactId>-->
|
||||
<!-- <version>4.0.0</version>-->
|
||||
<!-- </dependency>-->
|
||||
|
||||
<dependency>
|
||||
<groupId>com.lmax</groupId>
|
||||
<artifactId>disruptor</artifactId>
|
||||
<version>3.4.2</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- Add Log4j2 Dependency -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-log4j2</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
|
|
@ -8,3 +8,7 @@ solr.collection=TMF-index-openaire
|
|||
solr.zkHosts=zookeeper-solr-openaire-dev-1:2181,zookeeper-solr-openaire-dev-2:2181,zookeeper-solr-openaire-dev-3:2181
|
||||
|
||||
logging.level.org.springframework.web=DEBUG
|
||||
|
||||
#removes 'trace' field from error responses; alternatively remove 'spring-boot-devtools' dependency
|
||||
server.error.include-stacktrace=never
|
||||
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Log4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
|
|
@ -0,0 +1,43 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<Configuration status="trace">
|
||||
<Properties>
|
||||
<Property name="logpath-location">logs/</Property>
|
||||
<Property name="logfile-name">api.log</Property>
|
||||
<Property name="archive">${logpath-location}/archive/api</Property>
|
||||
<Property name="interval">10</Property>
|
||||
</Properties>
|
||||
|
||||
<Appenders>
|
||||
<Console name="Console">
|
||||
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %C.%M():%L %X - %m%n"/>
|
||||
</Console>
|
||||
|
||||
<RollingFile name="RollingFileAppender" fileName="${logpath-location}/${logfile-name}"
|
||||
filePattern="${archive}/${logfile-name}.%d{yyyy-MM-dd-HH}.gz">
|
||||
|
||||
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c.%M ():%L %X - %m%n"/>
|
||||
|
||||
<Policies>
|
||||
<!-- New log file every day -->
|
||||
<TimeBasedTriggeringPolicy interval="1" />
|
||||
</Policies>
|
||||
|
||||
<!-- Keep 30 rolling files for logging -->
|
||||
<DefaultRolloverStrategy max="30"/>
|
||||
|
||||
</RollingFile>
|
||||
</Appenders>
|
||||
|
||||
<Loggers>
|
||||
<Logger name="com.projects.spring_web_service" level="DEBUG" additivity="false" includeLocation="true">
|
||||
<AppenderRef ref="Console" level="INFO"/>
|
||||
<AppenderRef ref="RollingFileAppender" level="DEBUG"/>
|
||||
</Logger>
|
||||
|
||||
<Root level="INFO" includeLocation="true">
|
||||
<AppenderRef ref="Console" level="INFO"/>
|
||||
<AppenderRef ref="RollingFileAppender" level="DEBUG"/>
|
||||
</Root>
|
||||
</Loggers>
|
||||
|
||||
</Configuration>
|
Loading…
Reference in New Issue