请选择 进入手机版 | 继续访问电脑版
本站特色:极好的技术研究氛围!所有技术交流,必有回复!

疯狂Java联盟

 找回密码
 加入联盟
查看: 576|回复: 0

Spring Boot服务器访问日志配置

[复制链接]
发表于 2018-6-1 20:26:15 | 显示全部楼层 |阅读模式
服务器访问日志与服务器日志并不是同一个概念,我们一般在Tomcat控制台中看到的日志,是服务器的日志,而服务器访问日志,则会记录服务处理的请求信息,默认情况下,Tomcat并不会记录访问日志。新建一个 Maven项目并为其加入“/hello”服务,在配置文件中,对访问日志进行配置,请见代码清单3-20。
代码清单3-20:codes\03\3.3\log-test\src\main\resources\application.yml
  1. server:
  2.   tomcat:
  3.     basedir: my-tomcat
  4.     accesslog:
  5.       pattern: 'ip: %A, response code: %s, time: %t'
  6.       enabled: true
  7.       directory: crazyit-logs
  8.       buffered: false
复制代码

代码清单3-20的配置项目中,需要先指定Tomcat的根目录,本例指定了my-tomcat目录,也就是会以log-test/my-tomcat作为Tomcat根目录,使用directory来配置访问日志的存放目录,本例中my-tomcat/crazyit-logs将会用于存放访问日志。属性accesslog.enabled=true用于开启日志记录,accesslog.buffered设置为false,表示不进行缓冲,直接将日志记录到文件中。
访问日志以哪种格式进行保存呢?要使用accesslog.pattern属性进行配置,可以在格式中使用Tomcat提供的标识符来表示不同的信息,例如本例的“%A”表示本地的IP地址,%s表示HTTP的响应码,%t表示含时间的日期格式。除了这里使用的3个标识符外,其他标识符可以参看Tomcat文档:https://tomcat.apache.org/tomcat-8.0-doc/config/valve.html#Access_Logging
启动本例的服务器(codes\03\3.3\log-test\src\main\java\org\crazyit\boot\c3\LogApp.java),访问:http://localhost:8080/hello,再到log-test/my-tomcat/crazyit-logs目录下,可以看到访问日志已经生成,日志内容如下:
ip: 192.168.1.102, response code: 200, time:[07/Nov/2017:13:48:47 +0800]
如果读者在实际环境中有使用日志分析工具(例如ELK),可以结合以上的配置,将日志存放到特定目录,再让日志分析工具按照设置好格式读取入库。
本小节介绍了Spring Boot常用的Server配置,这些配置项都是以“server”打头,本小节所介绍的配置基本上可以满足需求,如果想了解更多的Server配置,可以到codes\03目录下,打开SpringProperties.properties文件,查找“server.xxxx”格式的配置。

您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

视频、代码、电子书下载
请关注"疯狂图书"公众号
QQ交流1群: 545923995  未满
微信群请扫二维码
QQ交流1群:
545923995
(未满)

小黑屋|手机版|Archiver|疯狂Java联盟 ( 粤ICP备11094030号 )

GMT+8, 2019-3-24 18:50 , Processed in 0.159836 second(s), 6 queries , File On.

快速回复 返回顶部 返回列表