Tomcat系统日志激活配置方法
- 格式:doc
- 大小:39.00 KB
- 文档页数:3
Tomcat默认使用J ULI日志系统To mcat日志信息分为两类:一是运行中的日志,它主要记录运行的一些信息,尤其是一些异常错误日志信息。
二是访问日志信息,它记录的访问的时间,IP,访问的资料等相关信息。
一Cat aline引擎的日志文件,文件名cata lina.日期.lo gTo mcat下内部代码抛出的日志,文件名lo calho st.日期.log(jsp页面内部错误的异常,or g.apa che.j asper.runt ime.H ttpJs pBase.serv ice类抛出的,日志信息就在该文件!)Tomc at下默认manag er应用日志,文件名manag er.日期.log控制台输出的日志,Linux下默认重定向到cat alina.out二A ccess日志(Se rvlet.xml配置)日志的级别分为如下7 种:SEVER E (hi ghest valu e) >WARNI NG >INFO> CON FIG > FINE > FI NER > FINE ST (l owest valu e)T omcat使用的日志配置文件:$CATA LINA_BASE/conf/loggi ng.pr opert ies 以tomc at-6.0.29为例:#配置tomc at的日志输出方式,这里表示文件输出和控制台输出.hand lers= 1ca talin a.org.apac he.ju li.Fi leHan dler, java.util.logg ing.C onsol eHand lerc atali na.or g.apa che.j uli.F ileHa ndler.leve l = F INE #日志级别例:1c atali na.or g.apa che.j uli.F ileHa ndler.leve l = F INE #设置 ca talin a 日志的级别为:FINE1cata lina.org.a pache.juli.File Handl er.le vel = OFF#禁用c atali na 日志的输出1catal ina.o rg.ap ache.juli.FileH andle r.lev el =ALL#输出 cat alina所有的日志消息均输出ca talin a.org.apac he.ju li.Fi leHan dler.direc tory= ${c atali na.ba se}/l ogs #日志输出目录,此设置表示tom cat日志输出到to mcat\logs目录下c atali na.or g.apa che.j uli.F ileHa ndler.pref ix =catal ina.#日志输出前缀,后面跟日期信息(yyyy-MM-d d)注:tomc at_6.0.29输出4种不同的日志:c atali na、lo calho st、ma nager、host-mana gerjava.util.loggi ng.Co nsole Handl er.le vel = FINE #控制台日志输出级别jav a.uti l.log ging.Conso leHan dler.forma tter= jav a.uti l.log ging.Simpl eForm atter #控制台日志输出格式化类,F ormat ter 为格式化L ogRec ords提供支持。
Tomcat安装及配置教程Tomcat安装及配置教程Tomcat 服务器是⼀个免费的开放源代码的Web 应⽤服务器,属于轻量级应⽤服务器,在中⼩型系统和并发访问⽤户不是很多的场合下被普遍使⽤,是开发和调试JSP 程序的⾸选。
今天就在这⾥教⼤家如何进⾏安装以及配置。
操作⽅法01⾸先第⼀步,进⼊官⽹进⾏下载,选择Download下你要安装的版本进⾏下载。
02此次下载的是windows安装版,直接点击即可安装,但在安装前必须要进⾏环境设置——>设置Tomcat运⾏时依赖的SDK。
设置⽅法:选择我的电脑->属性->⾼级系统设置->环境变量->⽤户变量下选择"新建" 如下图所⽰:其中变量值为:SDK的安装路径。
03之后便是安装过程。
选择“Next”。
04选择“I Agree”。
05此处只选择设置User Name和Password其它选项选择默认值。
06选择你电脑上已安装的jre路径。
07选择“Tomcat”的安装路径。
08这⾥我们先取消上⾯两个选项,单击“Finish”完成安装。
09Tomcat 的主⽬录⽂件详解:Tomcat的主⽬录⽂件夹有以下⼏个:1. bin:⽤于存放启动和关闭tomcat的可执⾏⽂件。
2. lib:⾥⾯存放需要的jar包。
3. conf:tomcat的各种配置⽂件,tomcat启动时需要读取的配置⽂件主要有:server.xml,web.xml,tomcat-users.xml等等。
服务器的修改都要从此⽬录中进⾏。
4. logs:⽇志⽂件,如果服务器出现错误,会⾃动记录。
5. server:服务器的管理程序。
6. webapps:所有的可执⾏的web项⽬都会放到此⽬录中。
7. work:tomcat把各种由jsp⽣成的servlet都放在了这个⽂件夹下,⾥⾯包含.java⽂件和.class⽂件。
10启动Tomcat启动Tomcat我们可以直接运⾏bin⽬录下的 Tomcat6.exe 可执⾏⽂件如出现下⾯的效果则说明Tomcat启动成功了。
tomcat访问⽇志配置
tomcat中的logs⽬录中的localhost_access_log.XXX.txt⽂件就是tomcat的访问⽇志
打开看下,可以看到是这样的结构
从⽂件内容可以看出,这个⽇志⽂件可以很清楚的记录下每⼀个接⼝的访问IP以及访问时间、接⼝请求类型、URL、状态码以及字节⼤⼩等等
从接⼝发出⼀直到接⼝相应可以⼤致为下⾯的过程
客户端-----⽹络----中间件-----应⽤程序-----数据库----应⽤程序----中间件-----⽹络-----客户端
那么我们想要获取到中间件(tomcat)这⾥的耗时可以吗?答案是可以的,tomcat存在这样的功能配置
在conf/server.xml 配置⽂件中最后⾯存在
我们只需要在最后⾯加上 %T即可
最后进⼊tomcat中的bin⽬录重启tomcat,然后访问,检查⽇志中是否存在响应时间
看来中⽂会乱码,记得不要⽤中⽂的":"啊
改成英⽂的":"就OK了。
修改位置如下图具体的解释如下Access Log Valve用来创建日志文件,格式与标准的web server日志文件相同。
可以使用用日志分析工具对日志进行分析,跟踪页面点击次数、用户会话的活动等。
Access Log Valve 的很多配置和行为特性与File Logger相同,包括每晚午夜自动切换日志文件。
Access Log Valve可以和任何Catalina容器关联,记录该容器处理的所有请求。
例子如下:<Valve className="org.apache.catalina.valves.AccessLogValve"directory="logs" prefix="localhost_access_log." suffix=".txt"pattern="%{X-Forwarded-For-Pound}i %l %u %t "%r" %s %b %T"%{HTTP_X_UP_CALLING_LINE_ID}i" "%{x-up-calling-line-id}i" "%{User-Agent}i""pattern属性值由字符串常量和pattern标识符加上前缀"%"组合而成。
pattern标识符加上前缀"%",用来代替当前请求/响应中的对应的变量值。
目前支持如下的pattern:∙%a - 远端IP地址∙%A - 本地IP地址∙%b - 发送的字节数,不包括HTTP头,如果为0,使用"-"∙%B - 发送的字节数,不包括HTTP头∙%h - 远端主机名(如果resolveHost=false,远端的IP地址)∙%H - 请求协议∙%l - 从identd返回的远端逻辑用户名(总是返回 '-')∙%m - 请求的方法(GET,POST,等)∙%p - 收到请求的本地端口号∙%q - 查询字符串(如果存在,以 '?'开始)∙%r - 请求的第一行,包含了请求的方法和URI∙%s - 响应的状态码∙%S - 用户的session ID∙%t - 日志和时间,使用通常的Log格式∙%u - 认证以后的远端用户(如果存在的话,否则为'-')∙%U - 请求的URI路径∙%v - 本地服务器的名称∙%D - 处理请求的时间,以毫秒为单位∙%T - 处理请求的时间,以秒为单位运行结果常使用web服务器的朋友大都了解,一般的web server有两部分日志:一是运行中的日志,它主要记录运行的一些信息,尤其是一些异常错误日志信息二是访问日志信息,它记录的访问的时间,IP,访问的资料等相关信息。
tomcat常用的调优参数Tomcat常用的调优参数Tomcat是一个开源的Java Servlet容器,广泛应用于Java Web 应用程序的部署和运行。
为了提高Tomcat的性能和稳定性,我们可以通过调优参数来优化其配置。
本文将介绍一些常用的Tomcat 调优参数,帮助您更好地配置和优化T omcat服务器。
1. 内存设置- -Xms: 设置JVM的初始堆大小,建议设置为物理内存的1/4或1/3。
- -Xmx: 设置JVM的最大堆大小,建议设置为物理内存的1/2或2/3。
- -XX:MaxPermSize: 设置JVM的永久代大小,建议设置为256MB或512MB。
- -XX:MaxMetaspaceSize: 设置JVM的元空间大小,建议设置为256MB或512MB。
2. 线程设置- maxThreads: 设置Tomcat的最大线程数,建议根据服务器的硬件配置和并发请求数进行调整。
- acceptCount: 设置Tomcat接受请求的队列大小,建议设置为200或300。
- connectionTimeout: 设置Tomcat的连接超时时间,建议设置为30秒或60秒。
3. 连接器设置- protocol: 设置连接器的协议,常用的有HTTP/1.1和AJP/1.3。
- port: 设置连接器的监听端口,建议使用80端口作为HTTP连接器的默认端口。
- maxKeepAliveRequests: 设置每个Keep-Alive连接的最大请求数,建议设置为100或200。
- keepAliveTimeout: 设置Keep-Alive连接的超时时间,建议设置为5秒或10秒。
4. 缓存设置- cacheSize: 设置Tomcat的静态文件缓存大小,建议根据静态文件的数量和大小进行调整。
- cacheTTL: 设置静态文件缓存的过期时间,建议设置为1小时或更长。
- cacheObjectMaxSize: 设置缓存对象的最大大小,建议根据缓存对象的平均大小进行调整。
windows下注册tomcat服务以及设置jvm参数注册服务:1>cd /d D:\Java\tomcat-7.0.57-Css\bin //进⼊⽬录1>service.bat install //注册服务,同理删除服务为 remove删除服务:1sc delete "服务名" //这是通⽤的删除⽅法注:需使⽤对应的版本,linux版本没有service.bat ,tomcat.exe ,tomcat*w.exe参数调整Windows下调整Tomcat启动参数⼀、命令窗⼝输⼊ D:\Java\tomcat-7.0.57-Css\bin\tomcat7w.exe //ES//Apache_Tomcat_Css Service 通过上述命令可打开tomcat的管理页⾯,点击JAVA进⼊Java options 输⼊框 ⾥⾯原内容: -Dcatalina.home=D:\Java\tomcat-7.0.57-Css -Dcatalina.base=D:\Java\tomcat-7.0.57-Css -Djava.endorsed.dirs=D:\Java\tomcat-7.0.57-Css\endorsed -Djava.io.tmpdir=D:\Java\tomcat-7.0.57-Css\temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=D:\Java\tomcat-7.0.57-Css\conf\logging.properties 在最后⾯加⼊: -XX:PermSize=64M -XX:MaxPermSize=1024m -XX:ReservedCodeCacheSize=48m 点击应⽤,点击确认; 再修改 D:\Java\tomcat-7.0.57-Css\bin 下的 service.bat ⽂件 找到下⾯这句: set "SELF=%~dp0%service.bat" rem Guess CATALINA_HOME if not defined set "CURRENT_DIR=%cd%" 在这句后⾯加上下局: set JAVA_OPTS = -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true 保存后在服务上启动即可;⼆、不注册服务,启动修改 修改 D:\Java\tomcat-7.0.57-Css\bin 下的 catalina.bat ⽂件 找到下⾯这句: rem Guess CATALINA_HOME if not defined set "CURRENT_DIR=%cd%" 在这句后⾯加上下局: set JAVA_OPTS = -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true 保存后启动即可;三、注册服务修改注册列表 运⾏ regedit 找到注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation 再往下找 Procrun 2.0\Tomcat7\Parameters\ 有个 Options 设置 -Dcatalina.home=D:\Java\tomcat-7.0.57-Css -Dcatalina.base=D:\Java\tomcat-7.0.57-Css -Djava.endorsed.dirs=D:\Java\tomcat-7.0.57-Css\endorsed -Djava.io.tmpdir=D:\Java\tomcat-7.0.57-Css\temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=D:\Java\tomcat-7.0.57-Css\conf\logging.properties 双击它进⾏编辑,在末尾增加下⾯⾏就搞定了: -XX:PermSize=64M -XX:MaxPermSize=1024m -XX:ReservedCodeCacheSize=48mlinux下调整Tomcat启动参数在对应linux下的tomcat版本中,修改 catalina.sh # vi /usr/tomcat/bin/catalina.sh 注: /usr/tomcat/bin/catalina.sh 是 tomcat所在⽬录的bin⽬录(linux环境下) 找到 # OS specific support. $var _must_ be set to either true or false. 在上句之前加⼊ # JAVA_OPTS JAVA_OPTS="-Xms2g -Xmx2g -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:NewSize=512m -XX:MaxPermSize=256m" # CATALINA_OPTS CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9004" CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"遇见报错:报错⼀、ould not reserve enough space for object heap报错⼆、Out of memory报错三、the Network Adapter could not establish the connection前两个报错是属于内存设置问题,第三个是⽹络问题因为⾃⼰在⽹上搜索遇到很多设置也是类似但是却没有效果的,谨此记录,希望不要被‘坑’!。
springbootTomcat访问⽇志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 "%r" %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,"%r",%s,%b,%{Referer}i,"%{User-Agent}i",%{X-Requested-With}i"11 fileDateFormat="yyyy-MM-dd.HH"12 />1314 </Host>2.springboot设置访问⽇志,在properties配置⽂件中添加tomcat⽇志配置1 #内嵌tomcat⽇志2 server.tomcat.accesslog.buffered=true3 server.tomcat.accesslog.directory=/usr/microStorage/tomcatLog4 server.tomcat.accesslog.enabled=true5 #每天保存⼀个6 server.tomcat.accesslog.file-date-format=yyyy-MM-dd7 server.tomcat.accesslog.pattern=%h %l %T %t %r %s %b %{Referer}i %{User-Agent}i8 server.tomcat.accesslog.prefix=access_log9 server.tomcat.accesslog.rename-on-rotate=false10 server.tomcat.accesslog.request-attributes-enabled=false11 server.tomcat.accesslog.rotate=true12 server.tomcat.accesslog.suffix=.log3.⽇志分析,通过正在表达式,将需要分析的信息进⾏正则捕获提取,然后根据需要进⾏相关数据的统计及可视化展⽰ 1public 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 = pile(reg);7while((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,"%r",%s,%b,%{Referer}i,"%{User-Agent}i",%{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 }。
LinuxTomcat使⽤相关命令Tomcat启动查看tomcat运⾏⽇志查看Tomcat。
1、Tomcat启动、停⽌⾸先进⼊tomcat 所在bin⽬录 cd /home/server/Tomcat/bin (需根据个⼈tomcat⽬录进⼊)关闭tomcat服务: ./shutdown.sh 或则 sh shutdown.sh 启动tomcat:(1)给bin⽂件夹可执⾏权限:chmod -R 777 ⽂件⽬录(2)执⾏./startup.sh 看不见⽇志的启动⽅式或则 sh startup.sh(3)执⾏./catalina.sh 可以看见启动⽇志的启动⽅式2、查看正在运⾏的Tomcat进程(1)ps aux | grep tomcat(2)ps -ef | grep tomcat3、杀死Tomcat进程 通过查看运⾏的Tomcat进程后可对进程进⾏kill kill -9 1234 (kill -9 进程ID)4、查看Tomcat占据的端⼝ netstat -nat 或则 netstat -apn (查看所有的端⼝) netstat -anlp | grep 12345 或则 netstat -anop | grep 12345 (根据进程号查看端⼝号) lsof -i:80 (通过端⼝号,查看其所属的进程号相关信息)5、查看tomcat运⾏⽇志 先切换到:cd /home/server/Tomcat/logs (需根据个⼈tomcat⽬录进⼊) tail -f catalina.out (实时查看运⾏⽇志) Ctrl+c 是退出tail命令。
6、防⽕墙设置端⼝cat /proc/version Linux 查看当前操作系统版本信息iptables -L -n 查看当前iptables(防⽕墙)规则添加指定端⼝到防⽕墙中iptables -I INPUT -p 协议 --dport 端⼝号 -j ACCEPT #iptables -I INPUT -p udp --dport 161 -j ACCEPT #iptables -I INPUT -p tcp --dport 8080 -j ACCEPT。
(转)配置Tomcat的访问⽇志格式1 Tomcat的server.xml⽂件中的access⽇志配置(默认):<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host>2 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) - 当前请求的线程名称3 ⾼级参数%{XXX}i xxx代表传⼊的头(HTTP Request)%{XXX}o xxx代表传出的响应头(Http Resonse)%{XXX}c xxx代表特定的Cookie名%{XXX}r xxx代表ServletRequest属性名%{XXX}s xxx代表HttpSession中的属性名4 配置Nginx反向代理时的真实IPNginx配置proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;Tomcat配置<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%{X-Real-IP}i %h %l %u %t "%r" %s %b" /> </Host>。
Tomcat日志记录激活配置方法
【编写人】:孙福成
【日期】:2010年2月1日
目录
1.文档说明 (1)
2.系统日志激活方式 (1)
2.1.配置方式 (1)
2.2.语法说明 (1)
2.3.参数说明 (2)
2.4.日志样例 (2)
3.日志备份 (2)
4.日志统计................................................................................................. 错误!未定义书签。
1.文档说明
本文档描述Tomcat系统日志记录功能的激活和配置方式,适用于所有使用Tomcat4、5的Web应用。
2.系统日志激活方式
2.1.配置方式
编辑Tomcat/conf/server.xml文件,找到如下行:
<Context path="/cms" docBase="/calisportal/cms" debug="0"
reloadable="true" crossContext="true">
增加下面的行:
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="bbs_access_log." suffix=".txt"
pattern="%a -%U-%t-%m-%s-%S" resolveHosts="false"/>
2.2.语法说明
directory="logs" ----存放日志的目录,请不要修改
prefix="bbs_access_log." ----日志文件名
suffix=".log" ---日志文件扩展名
pattern="%a...." ---日志字段参数
resolveHosts="false" ---
2.3.参数说明
%a - Remote IP address(远程IP地址)
%A - Local IP address (本地IP地址)
%b - Bytes sent, excluding HTTP headers, or ¡-¡ if zero(字节流出,排除HTTP头,如果是零字节,用¡-¡隔开)
%B - Bytes sent, excluding HTTP headers(字节流出,排除HTTP头)
%h - Remote host name (or IP address if resolveHosts is false)(远程主机名)
%H - Request protocol(远程请求主机端口)
%l - Remote logical username from identd (always returns ¡-¡) (远程用户名识别)
%m - Request method (GET, POST, etc.) (请求方式)
%p - Local port on which this request was received
%q - Query string (prepended with a ¡?¡ if it exists)
%r - First line of the request (method and request URI)(首行提交)
%s - HTTP status code of the response (返回HTTP状态代码)
%S - User session ID (获取用户会话ID)
%t - Date and time, in Common Log Format (记录提交时间)
%u - Remote user that was authenticated (if any), else ¡-¡ (识别远程用户在什么地方)
%U - Requested URL path (被请求的URL路径)
%v - Local server name (本地服务器名)
2.4.日志样例
192.168.2.72-/index131312.jsp-[02/Feb/2010:11:10:07
8000]-GET-302-919E70792EC2B09D89A5137F62B523B6
192.168.2.215-/index131312.jsp-[02/Feb/2010:11:22:29
8000]-GET-302-C2ED835DF3103421D16C6E9A2B27E958
3.日志备份
首先,找到所配置的系统日志指定目录,查看所有系统指定好的文件名为bbs_access_log.txt日志文件(日志文件的名字配置时自定义即可,例如prefix="bbs_access_log." suffix=".txt"),根据文件的修改时间确定当前正在使用的系统日志文件。
把目录中除当前使用的系统日志文件外的所有其他系统日志文件拷贝或者压缩到备份
目录。
这样可确保日志的备份不会重复,也不会遗失。
注意:因为系统日志文件会很大,而且系统访问量越大,日志文件大小的增长速度会越快,所以应及时备份,腾出磁盘空间,且压缩存储。