【问题标题】:How to print every request in access logs如何打印访问日志中的每个请求
【发布时间】: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

【问题讨论】:

标签: rest spring-boot


【解决方案1】:

还有 SLF4J 库,而不是使用来自 java.util 的标准日志记录。这里有三个带有日志记录事件的材料:

也许会有所帮助:)

【讨论】:

    【解决方案2】:

    将这些添加到 application.properties 以启用 tomcat 访问日志

     server.tomcat.basedir=/var/tomcat
     server.tomcat.accesslog.buffered=true
     server.tomcat.accesslog.directory=/access/log
     server.tomcat.accesslog.enabled=true
     server.tomcat.accesslog.pattern=%h %{X-Forwarded-For}i %l %u %t "%r" %s %b
     server.tomcat.accesslog.prefix=tomcat_access_log
    

    【讨论】:

      【解决方案3】:

      请配置server.tomcat.basedir=目录路径

      例如:server.tomcat.basedir=tomcat

      【讨论】:

        【解决方案4】:

        您需要将适当的字符串传递给环境。当您通常不希望将所有标题放在一行中时,可以使用他们的标题提供标题。如果您需要更多,您很可能也可以使用您的应用程序记录它们。 check here

        【讨论】:

        • 您提供的链接的目的是什么?
        猜你喜欢
        • 2020-02-23
        • 1970-01-01
        • 2021-09-24
        • 2021-08-14
        • 2012-11-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多