Tomcat配置自定义访问日志 --- 获取请求头部信息
使用tomcat,搭建完个人网站后,默认记录来访游客的信息是十分有限的,主要有ip和路径以及方法等。
有时候为了获取更多来访信息,比如请求的头部信息,这个时候就需要我们手动配置log了。
开始
进入Tomcat的根目录,然后 ---> conf ---> context.xml ,修改这个context.xml文件,在它Context标签内加上下面这段代码
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="headers" suffix=".txt"
pattern="%t --- %a --- %U --- User-Agent:%{User-Agent}i --- Cookie:%{Cookie}i " resolveHosts="false" />
其中directory是文件目录,文件前缀为headers,后缀为.txt,表明为文本文件,然后关键在于pattern这一段了:
里面就是日志记录的格式,这里就根据个人喜好来自定义了; 百分号%加上指定字母有特定的含义,比如%t就代表访问的时间,%a表示来访者的ip, %U为访问的路径。
需要注意的是%{header}i 指请求的对应头部,如%{User-Agent}i 就代表user-agent头部,如果请求中没有的话,它就为空。
这里有个问题,即没有直接显示访问请求中全部头部的操作,用StackOverflow一哥们的话说就是
There's no way out of the box
翻译过来就是: 没有开箱即用的方法。非要实现只能另外想办法了。
这里附上pattern中相应的字母代表的含义
- %a - 远程IP地址
- %A - 本地IP地址
- %b - 发送的字节数,不包括HTTP头,或“ - ”如果没有发送字节
- %B - 发送的字节数,不包括HTTP头
- %h - 远程主机名
- %H - 请求协议
- %l (小写的L)- 远程逻辑从identd的用户名(总是返回' - ')
- %m - 请求方法
- %p - 本地端口
- %q - 查询字符串(在前面加上一个“?”如果它存在,否则是一个空字符串
- %r - 第一行的要求
- %s - 响应的HTTP状态代码
- %S - 用户会话ID
- %t - 日期和时间,在通用日志格式
- %u - 远程用户身份验证
- %U - 请求的URL路径
- %v - 本地服务器名
- %D - 处理请求的时间(以毫秒为单位)
- %T - 处理请求的时间(以秒为单位)
- %I (大写的i) - 当前请求的线程名称
上面添加完成后,重启Tomcat,之后,在相应目录就会生成之前你定义的文件,我这里就是在conf目录下多了个headers.----.--.--.txt,-代表相应日期。随便访问下网站,就会发现里面一下多出了好多预期的内容:

cookie我也懒得打马赛克了,问题不大(●'◡'●)
如果想继续深入了解的话, 可以点击这里
最后打波广告,欢迎来我新搭建的小窝玩耍 http://asche.top/
博客经常性的炸,我也很无奈了╯︿╰
Tomcat配置自定义访问日志 --- 获取请求头部信息的更多相关文章
- tomcat配置根目录访问后,部署后第一次访问会出现tomcat的默认界面而非项目首页
tomcat配置根目录访问后,部署后第一次访问会出现tomcat的默认界面而非项目首页,而重启后会正常,这个原因是因为在配置文件中有如下配置,造成项目加载两次 <Host name=" ...
- Centos下Nginx配置WEB访问日志并结合shell脚本定时切割
在一个成熟的WEB系统里,没有日志管理是不可以的,有了日志,可以帮助你得到用户地域来源.跳转来源.使用终端.某个URL访问量等相关信息:通过错误日志,你可以得到系统某个服务或server的性能瓶颈等. ...
- Nginx 笔记与总结(4)配置 server 访问日志
打开 nginx.conf: [root@localhost ~]# cd /usr/local/nginx/conf [root@localhost conf]# vim nginx.conf 在默 ...
- Spring Boot 2 配置服务器访问日志
Tomcat控制台中看到的日志是服务器的日志,而服务器访问日志则是记录服务处理的请求信息. 开发环境:IntelliJ IDEA 2019.2.2Spring Boot版本:2.1.8 1.新建一个名 ...
- tomcat和springboot访问日志及分析
1.Tomcat设置访问日志 <Host name="localhost" appBase="webapps" unpackWARs="true ...
- tomcat配置不用访问工程名
<Host name="localhost" appBase="/server/webapps" unpackWARs="true" ...
- 本地测试Tomcat配置Https访问
一.tomcat开启HTTPS配置 1) 准备证书 使用jdk工具keytool生成一个ssl测试用证书, 一路按照提示操作输入即可 keytool -genkey -alias tomcat -ke ...
- sharepoint 2010自定义访问日志列表设置移动终端否和客户端访问系统等计算列的公式
上个月本人开发和上线了一个在SharePoint 2010上基于HTML5的移动OA网站,后端服务采用自定义的基于AgilePoint工作流引擎的Sharepoint Web服务,前端主要采用Jque ...
- Apache配置 5.访问日志不记录静态文件
介绍:项目中的CSS.图片.js都是静态文件.一般会将静态文件放到一个单独的目录中,以方便管理. 1. 配置 # vim /usr/local/apache2.4/conf/extra/httpd-v ...
随机推荐
- XE改变图标颜色
放一个image,load 一张png/..图片 再放一个FillRGBEffect, 将此控价拖到image下 改变FillRGBEffect的Color,就改变了image图标上的颜色. 原图为黑 ...
- mysql索引及多表查询
注意where,group by ,having,order by, limit 等的顺序. 主表是被绑定的表,子表是添加了外键了的表,注意,在创建表的时候可以添加外键,也可以创建完了以后添加外键. ...
- DataType--类型基础
数据类型数据的定义在各种场合均不一样,数据的载体也不一样,数据的表现方式和传递方式也不一样,数据的处理方式也不一样,数据库不可能处理所有形式的数据,因此必须规范数据,按照类型划分和处理. 连续和离散( ...
- arcconf工具相关命令V1.0
arcconf工具相关命令V1.0 清除当前所有raid配置 Arcconf delete 1 array all #删除所有逻辑盘 Arcconf uninit 1 all ...
- 【SQL】- 基础知识梳理(一) - 数据库
一.引言 知识分享这个事情在公司会议上被提出过几次,可一直因各种事情耽搁下来,“我不如地狱,谁入地狱”,怀着这样一种心态,写下了 数据库系列知识分享. 本文将一步步通过循序渐进的方式带你去了解数据库. ...
- SpringMVC+Hibernate 项目开发之一(Maven环境搭建)
Maven环境搭建网上一大堆文章,直接引用leiOOlei同学的了:http://www.cnblogs.com/leiOOlei/p/3359561.html Maven版本:apache-mave ...
- Deferred Shading,延迟渲染(提高渲染效率,减少多余光照计算)【转】
Deferred Shading,看过<Gems2> 的应该都了解了.最近很火的星际2就是使用了Deferred Shading. 原帖位置: http://blog.csdn.net ...
- CBV请求流程源码分析
一.CBV流程解析 urls.py urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^book/', views.BookView.as ...
- 如何删除/mnt/cdrom?|如何删除只读文件系统(Read-only files ystem)? failed !bh ? 挂载光盘?挂载usb?
root权限下 : 首先用umount /mnt/文件夹 卸载文件系统,必要时可以用umount -f(可能丢失数据)然后rm -rf /mnt/cdrom mkdir /mnt/cdrom moun ...
- 【数据结构】单链表&&静态链表详解和代码实例
喜欢的话可以扫码关注我们的公众号哦,更多精彩尽在微信公众号[程序猿声] 01 单链表(Singly Linked List ) 1.1 什么是单链表? 单链表是一种链式存储的结构.它动态的为节点分配存 ...