【发布时间】:2022-10-05 01:07:13
【问题描述】:
我正在使用 log4j2.xml 并且需要在我的 Spring Boot 应用程序中将 Tomcat 访问日志打印到控制台。请帮助如何做到这一点,因为我一直坚持这一点。我尝试在 application.properties 中进行如下配置,但打印的记录器不是 json 格式。
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.directory=/dev
server.tomcat.accesslog.prefix=stdout
server.tomcat.accesslog.console.pattern="{\"time\": \"%d\", \"level\": \"%p\", \"correlation-id\": \"%X{X-Correlation-Id}\", \"source\": \"%logger{63}:%L\", \"message\": \"%replace(%m%wEx{6}){'[\r\n]+', '\\n'}%nopex\", \"source\":\"ACCESS_LOGS\"}%n"
server.tomcat.accesslog.suffix=
server.tomcat.accesslog.file-date-format=
server.tomcat.basedir=.
记录器以垃圾字符的形式打印如下:
"{"time": "???d???", "level": "8080", "correlation-id": "+{X-Correlation-Id}", "source": "-ogger{63}:???L???", "message": "POST /v1/plan/fetchPlans HTTP/1.1eplace(POST???w???Ex{6}){'[]+', '\n'}???n???opex", "source":"ACCESS_LOGS"}???n???"
【问题讨论】:
标签: java spring-boot log4j2