本文介绍: 属性文件中的配置针对的是如何输出访问日志文件,而我们时候需要输出访问日志控制台而不非文件比如 AWS 上的 ECS 应用控制台的输出可直接发送到 CloudWatch,这样便于分析日志。在 Spring Web可以用 Interceptor 或 Filter记录访问日志,但在请求出错时无法准确显示响应时间状态码,毕竟 Tomcat 的访问日志在代码的外层,进出 Controller 方法输入输出信息也就掌握的更清楚。

我们直接使用 Tomcat  时,访问日志的配置在 $TOMCAT_HOME/conf/server.xml

<Valve className=”org.apache.catalina.valves.AccessLogValvedirectory=”logs
              prefix=”localhost_access_logsuffix=”.txt
              pattern=”%h %l %u %t "%r" %s %b” />

产生的日志文件在 $TOMCAT_HOME/logs 目录中,生成日期戳进行区分的滚动日志文件,如 localhost_access_log.2022-10-25.txt

而在我们使用  Spring Boot Web 时, 默认嵌入式 Web 应用服务器是 Tomcat我们可以在 Spring 属性文件配置是否启用 Tomcat 访问日志(默认启用)。属性文件中的配置针对的是如何输出访问日志到文件,而我们有时候需要输出访问日志到控制台而不非文件,比如 AWS 上的 ECS 应用控制台的输出可直接发送到 CloudWatch,这样便于分析日志。

在 Spring Web 中可以用 Interceptor 或 Filter记录访问日志,但在请求出错时无法准确显示响应时间和状态码,毕竟 Tomcat 的访问日志在代码的外层,进出 Controller 方法输入输出信息也就掌握的更清楚。

本文任务探索输出 Spring Boot Web 嵌入式 Tomcat 的访问日志到控制台。有两种方式 阅读全文 >>

原文地址:https://blog.csdn.net/kypfos/article/details/128501978

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_42936.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注