spring boot Tomcat访问日志

1.Tomcat设置访问日志

 1 <Host name="localhost"  appBase="webapps"
 2             unpackWARs="true" autoDeploy="true">
 3         <!--
 4         <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
 5                prefix="localhost_access_log." suffix=".txt"
 6                pattern="%h %l %u %t &quot;%r&quot; %s %b" />
 7         -->
 8         <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
 9                prefix="localhost_access_log." suffix=".txt"
10                pattern="%h,%l,%u,%t,%T,&quot;%r&quot;,%s,%b,%{Referer}i,&quot;%{User-Agent}i&quot;,%{X-Requested-With}i"
11                fileDateFormat="yyyy-MM-dd.HH"
12                />
13
14       </Host>

2.springboot设置访问日志,在properties配置文件中添加tomcat日志配置

 1 #内嵌tomcat日志
 2 server.tomcat.accesslog.buffered=true
 3 server.tomcat.accesslog.directory=/usr/microStorage/tomcatLog
 4 server.tomcat.accesslog.enabled=true
 5 #每天保存一个
 6 server.tomcat.accesslog.file-date-format=yyyy-MM-dd
 7 server.tomcat.accesslog.pattern=%h %l %T %t %r %s %b %{Referer}i %{User-Agent}i
 8 server.tomcat.accesslog.prefix=access_log
 9 server.tomcat.accesslog.rename-on-rotate=false
10 server.tomcat.accesslog.request-attributes-enabled=false
11 server.tomcat.accesslog.rotate=true
12 server.tomcat.accesslog.suffix=.log

3.日志分析,通过正在表达式,将需要分析的信息进行正则捕获提取,然后根据需要进行相关数据的统计及可视化展示

 1 public static void parse() throws Exception{
 2         String path = "D:/logs/localhost_access_log.2018-09-30.11.txt";
 3         BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(path)));
 4         String line = null;
 5         String reg = "^(.+?),(.+?),(.+?),(.+?),(.+?),(\\\".+?\\\"),(.+?),(.+?),(.+?),(\\\".+?\\\"),(.+?),(.+?)$";
 6         Pattern pattern = Pattern.compile(reg);
 7         while((line=br.readLine())!=null) {
 8             System.out.println(line);
 9             Matcher matcher = pattern.matcher(line);
10             matcher.matches();
11             // pattern="%h,%l,%u,%t,%T,&quot;%r&quot;,%s,%b,%{Referer}i,&quot;%{User-Agent}i&quot;,%{X-Requested-With}i,%{passport}c"
12             System.out.println("ip="+matcher.group(1));
13             System.out.println("date="+matcher.group(4));
14             System.out.println("cost="+matcher.group(5));
15             System.out.println("request="+matcher.group(6));
16             System.out.println("status="+matcher.group(7));
17             System.out.println("bytes="+matcher.group(8));
18             System.out.println("Referer="+matcher.group(9));
19             System.out.println("User-Agent="+matcher.group(10));
20             System.out.println("X-Requested-With="+matcher.group(11));
21             System.out.println("passport="+matcher.group(12));
22             System.out.println("------------------------------------");
23         }
24         br.close();
25     }

原文地址:https://www.cnblogs.com/wang-yaz/p/10030357.html

时间: 2024-07-30 14:13:55

spring boot Tomcat访问日志的相关文章

如何配置Spring Boot Tomcat

1.概述 Spring Boot Web应用程序默认包含预配置的嵌入式Web服务器.但在某些情况下,我们要修改默认配置以满足自定义要求. 在本教程中,我们将介绍通过application.properties文件配置Tomcat嵌入式服务器的一些常见用例. 2.常见的嵌入式Tomcat配置 2.1. 服务器地址和端口 我们希望更改的最常见配置是端口号: server.port = 80 如果我们不提供server.port 参数,则默认设置为8080. 在某些情况下,我们可能希望设置服务器应绑定

Spring Boot Tomcat 容器化部署实践与总结

在平时的工作和学习中经常会构建简单的web应用程序.如果只是HelloWorld级别的程序,使用传统的Spring+SpringMVC框架搭建得话会将大部分的时间花费在搭建框架本身上面,比如引入SpringMVC,配置DispatcheherServlet等.并且这些配置文件都差不多,重复这些劳动似乎意义不大.所以使用Springboot框架来搭建简单的应用程序显得十分的便捷和高效. 前两天在工作中需要一个用于测试文件下载的简单web程序,条件是使用Tomcat Docker Image作为载体

转 Tomcat访问日志详细配置

配置http访问日志.Tomcat自带的能够记录的http访问日志已经很详细了取消下面这段的注释: <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts

Tomcat访问日志详细配置

在server.xml里的<host>标签下加上 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/

Tomcat访问日志详细配置(转)

在server.xml里的<host>标签下加上<Valve className="org.apache.catalina.valves.AccessLogValve"directory="logs" prefix="localhost_access_log." suffix=".txt"pattern="common" resolveHosts="false"/>

Spring Boot - Logback配置日志要考虑哪些因素

Spring Boot - Logback配置日志 出于性能等原因,Logback 目前是springboot应用日志的标配: 当然有时候在生产环境中也会考虑和三方中间件采用统一处理方式.@pdai Spring Boot - Logback配置日志 配置时考虑点 实现范例 综合范例 在配置前可以参考如下文章 參考文档 代码示例 最全的Java后端知识体系 https://www.pdai.tech, 每天更新中.... 配置时考虑点 支持日志路径,日志level等配置 日志控制配置通过appl

分享spring boot controller统一日志代码

最近项目需要做一个controller层的aop,主要解决下面问题: 1.controller日志统一打印输出json格式,兼容json和velocity . 2.项目异常处理 3.异常邮件发送 4.页面访问统计 主要思路使用aop实现,controller参数统一使用@RequestParam接收. controller @RequestMapping(name = "添加个人信息", value ="/addInfo", method = RequestMeth

spring boot tomcat 部署

前几天springboot项目部署到linux中,整个过程就是个坑啊.踩坑的过程中也学到了许多.spring boot 项目部署时由于其内置了tomcat和jdk,而且还都是8. 所以部署的话就分为两种部署了, 第一种就是使用其内置的tomcat部署, 第二种就是采用外部的tomcat部署.采用内部的tomcat部署又分为两种: 第一种是打包成war包部署,第二种事打包成jar包部署. 两者区别就在于打包成jar包的是无静态资源的,如jsp,HTML等,像只是提供restful接口. 阅读此篇博

spring boot tomcat 打本地包成war,通过Tomcat启动时出现问题: ZipException: error in opening zip file

一个第三方公司提供spring boot 项目,直接启动是ok的, 但是打包成war,通过Tomcat启动,就出现 ZipException: error in opening zip file: 20-Mar-2019 15:48:28.385 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [F:\dev\apache-t