|
1 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | | -<Configuration status="WARN"> |
| 2 | +<Configuration status="DEBUG" monitorInterval="30"> |
3 | 3 | <Properties> |
4 | | - <Property name="INSTANCE_IP">192.168.1.100</Property> |
| 4 | + <Property name="APP_NAME" value="${spring:spring.application.name:-log4j2-custom-format-example}"/> |
| 5 | + <Property name="VER" value="${spring:spring.application.version:-1.0.0}"/> |
| 6 | + <Property name="INSTANCE_IP" value="${sys:instanceIp:-192.168.1.100}"/> |
| 7 | + <Property name="LOG_HOME">${sys:log.dir:-logs}</Property> |
| 8 | + <Property name="LOG_NAME">${APP_NAME}</Property> |
| 9 | + <Property name="FILE_NAME">${LOG_HOME}/${APP_NAME}.log</Property> |
| 10 | + <Property name="CONSOLE_PATTERN_FORMAT" |
| 11 | + value='{"%d{yyyy-MM-dd HH:mm:ss.SSS}","%highlight{%-5level}","%thread","${INSTANCE_IP}","%highlight{%X{trace-id}}","%X{trace-ip}","%highlight{%logger{0}}","%highlight{%method}",%jm}%n'/> |
| 12 | + <Property name="JSON_PATTERN_FORMAT" |
| 13 | + value='{"dateTime":"%d{yyyy-MM-dd HH:mm:ss.SSS}","level":"%-5level","thread":"%thread","instanceIp":"${INSTANCE_IP}","traceId":"%X{trace-id}","requestIp":"%X{trace-ip}","class":"%logger{0}","method":"%method","message":%jm}%n'/> |
5 | 14 | </Properties> |
6 | 15 |
|
7 | 16 | <Appenders> |
8 | | - <!-- Console Appender --> |
9 | | - <Console name="CONSOLE" target="SYSTEM_OUT"> |
10 | | - <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> |
| 17 | + <Console name="Console" target="SYSTEM_OUT"> |
| 18 | + <ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/> |
| 19 | + <PatternLayout> |
| 20 | + <Pattern>${CONSOLE_PATTERN_FORMAT}</Pattern> |
| 21 | + </PatternLayout> |
11 | 22 | </Console> |
12 | | - |
13 | | - <!-- File Appender with Custom JSON Pattern --> |
14 | | - <!-- This pattern will be merged with TraceRoot required fields --> |
15 | | - <!-- User's custom fields: dateTime, thread, class, method, instanceIp, requestIp --> |
16 | | - <!-- Conflicting fields (level, message) will use TraceRoot values --> |
17 | | - <RollingFile name="FILE" fileName="logs/traceroot-sdk.log" |
18 | | - filePattern="logs/traceroot-sdk.%d{yyyy-MM-dd}.%i.log"> |
19 | | - <!-- Custom pattern with user-defined fields --> |
20 | | - <PatternLayout pattern='{"dateTime":"%d{yyyy-MM-dd HH:mm:ss.SSS}","level":"%-5level","thread":"%thread","instanceIp":"${INSTANCE_IP}","traceId":"%X{trace-id}","requestIp":"%X{trace-ip}","class":"%logger{0}","method":"%method","message":%jm}%n'/> |
| 23 | + <RollingFile name="rollingFile" fileName="${FILE_NAME}" |
| 24 | + filePattern="${LOG_HOME}/${LOG_NAME}.%d{yyyy-MM-dd}.log.%i"> |
| 25 | + <ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/> |
| 26 | + <PatternLayout> |
| 27 | + <Pattern>${JSON_PATTERN_FORMAT}</Pattern> |
| 28 | + </PatternLayout> |
21 | 29 | <Policies> |
22 | 30 | <TimeBasedTriggeringPolicy/> |
23 | | - <SizeBasedTriggeringPolicy size="100MB"/> |
| 31 | + <SizeBasedTriggeringPolicy size="200MB"/> |
24 | 32 | </Policies> |
25 | | - <DefaultRolloverStrategy max="30"> |
26 | | - <Delete basePath="logs" maxDepth="1"> |
27 | | - <IfFileName glob="traceroot-sdk.*.log"/> |
28 | | - <IfLastModified age="30d"/> |
29 | | - </Delete> |
30 | | - </DefaultRolloverStrategy> |
| 33 | + <DefaultRolloverStrategy max = "50" /> |
31 | 34 | </RollingFile> |
32 | 35 | </Appenders> |
33 | 36 |
|
34 | 37 | <Loggers> |
35 | | - <!-- Root logger configuration --> |
36 | | - <Root level="INFO"> |
37 | | - <AppenderRef ref="CONSOLE"/> |
38 | | - <AppenderRef ref="FILE"/> |
| 38 | + <!-- LOG everything at DEBUG level --> |
| 39 | + <Root level="DEBUG"> |
| 40 | + <AppenderRef ref="Console"/> |
| 41 | + <AppenderRef ref="rollingFile"/> |
39 | 42 | </Root> |
40 | 43 |
|
41 | 44 | <!-- TraceRoot SDK specific logger --> |
42 | 45 | <Logger name="ai.traceroot.sdk" level="WARN" additivity="false"> |
43 | | - <AppenderRef ref="CONSOLE"/> |
44 | | - <AppenderRef ref="FILE"/> |
| 46 | + <AppenderRef ref="Console"/> |
| 47 | + <AppenderRef ref="rollingFile"/> |
45 | 48 | </Logger> |
46 | 49 |
|
47 | 50 | <!-- Reduce noise in logs --> |
|
0 commit comments