Integrate log4j2 kafka appender
This commit is contained in:
@@ -20,7 +20,7 @@
|
||||
<spring-session-bom.version>Dragonfruit-SR3</spring-session-bom.version>
|
||||
<reactor-bom.version>Dysprosium-SR25</reactor-bom.version>
|
||||
<lettuce.version>5.3.7.RELEASE</lettuce.version>
|
||||
<netty.version>4.1.77.Final</netty.version>
|
||||
<netty.version>4.1.78.Final</netty.version>
|
||||
<httpcore.version>4.4.15</httpcore.version>
|
||||
<log4j2.version>2.17.2</log4j2.version>
|
||||
<slf4j.version>1.7.36</slf4j.version>
|
||||
@@ -34,7 +34,7 @@
|
||||
<commons-codec.version>1.15</commons-codec.version>
|
||||
<commons-pool2.version>2.11.1</commons-pool2.version>
|
||||
<gson.version>2.8.9</gson.version>
|
||||
<netty-tcnative.version>2.0.52.Final</netty-tcnative.version>
|
||||
<netty-tcnative.version>2.0.53.Final</netty-tcnative.version>
|
||||
<spring-cloud.version>2.2.9.RELEASE</spring-cloud.version>
|
||||
<snakeyaml.version>1.30</snakeyaml.version>
|
||||
</properties>
|
||||
@@ -80,6 +80,18 @@
|
||||
<artifactId>netty-tcnative-classes</artifactId>
|
||||
<version>${netty-tcnative.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-layout-template-json</artifactId>
|
||||
<version>${log4j2.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.kafka</groupId>
|
||||
<artifactId>kafka-clients</artifactId>
|
||||
<version>2.0.1</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<profiles>
|
||||
|
||||
@@ -85,6 +85,7 @@ import org.springframework.boot.web.reactive.context.AnnotationConfigReactiveWeb
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import we.config.AggregateRedisConfig;
|
||||
import we.log.LogSendAppender;
|
||||
import we.util.FileUtils;
|
||||
|
||||
/**
|
||||
* fizz gateway application boot entrance
|
||||
@@ -186,8 +187,13 @@ public class FizzBootstrapApplication {
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(FizzBootstrapApplication.class);
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.setProperty("log4j2.contextSelector", "org.apache.logging.log4j.core.async.AsyncLoggerContextSelector");
|
||||
System.setProperty("log4j2.formatMsgNoLookups", "true");
|
||||
System.setProperty("log4j2.contextSelector", "org.apache.logging.log4j.core.async.AsyncLoggerContextSelector");
|
||||
System.setProperty("log4j2.formatMsgNoLookups", "true");
|
||||
System.setProperty("log4j2.isThreadContextMapInheritable", "true");
|
||||
|
||||
String appRootDir = FileUtils.getAppRootDir();
|
||||
System.setProperty("APP_ROOT_DIR", appRootDir);
|
||||
LOGGER.info("app root dir: {}", appRootDir);
|
||||
|
||||
SpringApplication springApplication = new SpringApplication(FizzBootstrapApplication.class);
|
||||
springApplication.setApplicationContextClass(CustomReactiveWebServerApplicationContext.class);
|
||||
|
||||
38
fizz-bootstrap/src/main/resources/log4j2-kafka.json
Normal file
38
fizz-bootstrap/src/main/resources/log4j2-kafka.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"logTime": {
|
||||
"$resolver": "timestamp",
|
||||
"epoch": {
|
||||
"unit": "millis",
|
||||
"rounded": true
|
||||
}
|
||||
},
|
||||
"logLevel": {
|
||||
"$resolver": "level",
|
||||
"field": "name"
|
||||
},
|
||||
"logMsg": {
|
||||
"$resolver": "message",
|
||||
"stringified": true
|
||||
},
|
||||
"thread": {
|
||||
"$resolver": "thread",
|
||||
"field": "name"
|
||||
},
|
||||
"loggerName": {
|
||||
"$resolver": "logger",
|
||||
"field": "name"
|
||||
},
|
||||
"thrown": {
|
||||
"message": {
|
||||
"$resolver": "exception",
|
||||
"field": "message"
|
||||
},
|
||||
"extendedStackTrace": {
|
||||
"$resolver": "exception",
|
||||
"field": "stackTrace",
|
||||
"stackTrace": {
|
||||
"stringified": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,24 +2,76 @@
|
||||
|
||||
<Configuration status="warn">
|
||||
<properties>
|
||||
<property name="APP_NAME">${sys:APP_NAME}</property>
|
||||
<property name="APP_NAME">fizz-bootstrap</property>
|
||||
<property name="LOG_DIR">${sys:APP_ROOT_DIR}/log</property>
|
||||
<!--<property name="KAFKA_SERVER">1.1.1.1:9092</property>-->
|
||||
</properties>
|
||||
<Appenders>
|
||||
<Console name="Console" target="SYSTEM_OUT">
|
||||
<!--<PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level [%-29t] %30c{1}.%41M:%4L %m %ex%n"/>-->
|
||||
<!--<PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %30c{1}.%41M:%4L %X{traceId} %m{nolookups} %ex%n"/>-->
|
||||
<PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %30c{1}.%41M:%4L %m{nolookups} %ex%n"/>
|
||||
</Console>
|
||||
<LogSend name="LogSend">
|
||||
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %level %logger{36} - %msg{nolookups}%n"/>
|
||||
</LogSend>
|
||||
<!--<RollingRandomAccessFile name="RollingFile" fileName="${LOG_DIR}/${APP_NAME}.log" filePattern="${LOG_DIR}/$${date:yyyy-MM-dd}/${APP_NAME}-%d{HH}-%i.log">
|
||||
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %t %-5level [%c{1}.%M:%L] %msg{nolookups}%n"/>
|
||||
<Policies>
|
||||
<TimeBasedTriggeringPolicy interval="1"/>
|
||||
<SizeBasedTriggeringPolicy size="10MB"/>
|
||||
</Policies>
|
||||
<DefaultRolloverStrategy max="50"/>
|
||||
</RollingRandomAccessFile>-->
|
||||
<!--<Kafka name="KafkaAppender4biz" topic="log-zt-fizz-bootstrap" syncSend="false">
|
||||
<JsonTemplateLayout eventTemplateUri="classpath:log4j2-kafka.json">
|
||||
<EventTemplateAdditionalField key="traceId" value="$${ctx:traceId}"/>
|
||||
</JsonTemplateLayout>
|
||||
<Property name="bootstrap.servers">${KAFKA_SERVER}</Property>
|
||||
</Kafka>
|
||||
<Kafka name="KafkaAppender4monitor" topic="log-zt-fizz-bootstrap-monitor" syncSend="false">
|
||||
<PatternLayout pattern="%m"/>
|
||||
<Property name="bootstrap.servers">${KAFKA_SERVER}</Property>
|
||||
</Kafka>
|
||||
<Kafka name="KafkaAppender4stat" topic="log-zt-fizz-bootstrap-stat" syncSend="false">
|
||||
<PatternLayout pattern="%m"/>
|
||||
<Property name="bootstrap.servers">${KAFKA_SERVER}</Property>
|
||||
</Kafka>
|
||||
<Kafka name="KafkaAppender4flow" topic="log-zt-fizz-bootstrap-flow" syncSend="false">
|
||||
<PatternLayout pattern="%m"/>
|
||||
<Property name="bootstrap.servers">${KAFKA_SERVER}</Property>
|
||||
</Kafka>
|
||||
<Kafka name="KafkaAppender4callback" topic="log-zt-fizz-bootstrap-callback" syncSend="false">
|
||||
<PatternLayout pattern="%m"/>
|
||||
<Property name="bootstrap.servers">${KAFKA_SERVER}</Property>
|
||||
</Kafka>-->
|
||||
</Appenders>
|
||||
<Loggers>
|
||||
<Root level="warn" includeLocation="true">
|
||||
<Root level="warn" includeLocation="false">
|
||||
<AppenderRef ref="Console"/>
|
||||
<AppenderRef ref="LogSend"/>
|
||||
<!--<AppenderRef ref="RollingFile"/>-->
|
||||
<!--<AppenderRef ref="KafkaAppender4biz"/>-->
|
||||
</Root>
|
||||
<Logger name="org.apache.kafka" level="info" includeLocation="false"/>
|
||||
<!-- suppress the warn 'No URLs will be polled as dynamic configuration sources.' -->
|
||||
<logger name="com.netflix.config.sources.URLConfigurationSource" level="ERROR" includeLocation="true"/>
|
||||
<Logger name="we" level="info" includeLocation="true"/>
|
||||
<logger name="com.netflix.config.sources.URLConfigurationSource" level="ERROR" includeLocation="false"/>
|
||||
<Logger name="we" level="info" includeLocation="false"/>
|
||||
<Logger name="monitor" level="info" includeLocation="false" additivity="false">
|
||||
<AppenderRef ref="Console"/>
|
||||
<!--<AppenderRef ref="KafkaAppender4monitor"/>-->
|
||||
</Logger>
|
||||
<Logger name="stat" level="info" includeLocation="false" additivity="false">
|
||||
<AppenderRef ref="Console"/>
|
||||
<!--<AppenderRef ref="KafkaAppender4stat"/>-->
|
||||
</Logger>
|
||||
<Logger name="flow" level="info" includeLocation="false" additivity="false">
|
||||
<AppenderRef ref="Console"/>
|
||||
<!--<AppenderRef ref="KafkaAppender4flow"/>-->
|
||||
</Logger>
|
||||
<Logger name="callback" level="info" includeLocation="false" additivity="false">
|
||||
<AppenderRef ref="Console"/>
|
||||
<!--<AppenderRef ref="KafkaAppender4callback"/>-->
|
||||
</Logger>
|
||||
</Loggers>
|
||||
</Configuration>
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
log4j2.asyncQueueFullPolicy=Discard
|
||||
log4j2.discardThreshold=ERROR
|
||||
@@ -1,17 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<Configuration status="info">
|
||||
<properties>
|
||||
<property name="APP_NAME">fizz-gateway</property>
|
||||
</properties>
|
||||
<Appenders>
|
||||
<Console name="Console" target="SYSTEM_OUT">
|
||||
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %level %logger{36} - %X{traceId} %msg%n" />
|
||||
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %level %logger{36} - %msg%n"/>
|
||||
</Console>
|
||||
</Appenders>
|
||||
<Loggers>
|
||||
<Root level="warn">
|
||||
<AppenderRef ref="Console" />
|
||||
<AppenderRef ref="Console"/>
|
||||
</Root>
|
||||
<Logger name="we" level="DEBUG"/>
|
||||
</Loggers>
|
||||
|
||||
Reference in New Issue
Block a user