【发布时间】:2019-05-03 11:10:02
【问题描述】:
我有一项服务 AccessLogsApplication,其中我有一个控制器 HelloWorld。我想在 Spring Boot 中将每个传入请求打印在名为 access_log.log 的单独日志文件中。
@RestController
public class HelloWorld {
private static final Logger log = LoggerFactory.getLogger(HelloWorld.class);
@RequestMapping(value = "/hello/1", method = RequestMethod.GET)
public String getHello() {
log.info("In method 1");
return "helloWorld";
}
@RequestMapping(value = "/hello/2", method = RequestMethod.GET)
public String getHelloFromUser() {
log.info("In method 2");
return "helloWorld From Sudhanshu Saini";
}
}
这是我的 application.properties
spring.application.name=HelloWorld
server.port=8080
server.tomcat.accesslog.buffered=true
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.directory=logs
server.tomcat.accesslog.prefix=access_log
server.tomcat.accesslog.suffix=.log
server.tomcat.accesslog.pattern="%h %l %u %t %r %s %b %D"
logging.level.root=warn
logging.level.com.saini.access_logs=debug
logging.path=logs
logging.file=${logging.path}/hello_service.log
我想记录此服务的每个即将到来的请求。 像这样(这是我手动写的,不能访问日志)-
[03/May/2019:16:37:52 +0530] "GET /hello/1 HTTP/1.0" 200 2
[03/May/2019:16:37:52 +0530] "GET /hello/2 HTTP/1.0" 200 2
访问日志在 Spring Boot 中不起作用。它没有创建文件 access_log.log
【问题讨论】:
-
您的问题的答案可能在这里:stackoverflow.com/questions/33744875/…
-
@szachMati 我不想记录请求和响应,我只想记录即将投入使用的 http 端点
标签: rest spring-boot