pSinghDelaplex commented on issue #2624:
URL: 
https://github.com/apache/logging-log4j2/issues/2624#issuecomment-2137687035

   Hi @vy 
   
   build.gradle
   
   ```
     implementation("org.springframework.boot:spring-boot-starter-log4j2")
     
implementation("org.apache.logging.log4j:log4j-layout-template-json:2.23.1")
   ```
   
   log4j-spring.yml
   
   ```
   Configuration:
     status: warn
     name: Default
     monitorInterval: 30
     Properties:
       property:
         - name: log-path
           value: "../logs"
     Appenders:
       Console:
         name: Console_Appender
         target: SYSTEM_OUT
         JsonTemplateLayout:
           eventTemplateUri: classpath:EcsLayout.json
           eventTemplateAdditionalField:
             - key: "message"
               value: '{"$resolver": "message", "field": "name"}'
               format: "JSON"
       RollingFile:
         - name: RollingFile_Appender
           fileName: ${log-path}/${sys:LOG_FILE}
           filePattern: 
"${log-path}/${sys:LOG_FILE}.%d{yyyy-MM-dd}T%d{HH-mm-ss}.%i.log"
           JsonTemplateLayout:
             eventTemplateUri: classpath:EcsLayout.json
             eventTemplateAdditionalField:
               - key: "message"
                 value: '{"$resolver": "message", "field": "name"}'
                 format: "JSON"
           Policies:
             SizeBasedTriggeringPolicy:
               size: 20 MB
           DefaultRollOverStrategy:
             Delete:
               basePath: ${log-path}
               maxDepth: 1
               IfFileName:
                 glob: "${sys:LOG_FILE}.*.log"
                 IfAccumulatedFileCount:
                   exceeds: 10
     Loggers:
       Root:
         level: all
         AppenderRef:
           - ref: Console_Appender
             level: info
           - ref: RollingFile_Appender
             level: info
       Logger:
         - name: org.springframework.web.servlet.DispatcherServlet
           level: all
           additivity: false
           AppenderRef:
             - ref: Console_Appender
             - ref: RollingFile_Appender
   ```
   
   EcsLayout.json
   
   ```
   {
     "@timestamp": {
       "$resolver": "timestamp",
       "pattern": {
         "format": "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",
         "timeZone": "UTC"
       }
     },
     "ecs.version": "1.2.0",
     "log.level": {
       "$resolver": "level",
       "field": "name"
     },
     "message": {
       "$resolver": "message",
       "stringified": false
     },
     "process.thread.name": {
       "$resolver": "thread",
       "field": "name"
     },
     "log.logger": {
       "$resolver": "logger",
       "field": "name"
     },
     "labels": {
       "$resolver": "mdc",
       "flatten": true,
       "stringified": true
     },
     "tags": {
       "$resolver": "ndc"
     },
     "error.type": {
       "$resolver": "exception",
       "field": "className"
     },
     "error.message": {
       "$resolver": "exception",
       "field": "message"
     },
     "error.stack_trace": {
       "$resolver": "exception",
       "field": "stackTrace",
       "stackTrace": {
         "stringified": true
       }
     }
   }
   ```
   
   example of how the formatted log event should look like?
   
   {
        "@timestamp": "2024-05-26T10:52:56.100Z",       "ecs.version": 
"1.2.0","log.level": "INFO",     "message": {"appId":"1234", "action":"Payment 
Received"}, "process.thread.name": 
"http-nio-0.0.0.0-59078-exec-1","log.logger": "com.example"
   }
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to