在tomcat下,给单个module添加日志的方法

原创 2011年01月20日 20:17:00

通常,我们在linux服务器上部署项目时,都不会将项目直接部署到catalina_home的webapps目录下,这样就需要对server.xml进行手机的配置,让tomcat在启动时,能够加载指定目录下的项目。这里假设将名为test的项目放到/home目录下,那么,我们在server.xml的host标签内,就需要添加如下语句:

 

 

<Context path="" docBase="/home/test" debug="0" reloadable="false">

<Valve className="org.apache.catalina.valves.AccessLogValve"

                 directory="/home/logs"  prefix="test_log." suffix=".txt"

                 pattern="%h %p %s %D %b %v %r %{Referer}i %{User-Agent}i %t"

                 resolveHosts="false"/>

</Context>

记住,这些话,是要写在Host标签内的,否则将产生错误。

那么,这个<Context>标签里的<Valve>标题是做什么的呢??

其实呢,这就是写本文的重点,设置让tomcat为该test项目产生指定的日志,并保存的directory下的。大家去设置一下,设置完成后,重启tomcat,访问一下你的项目,再看看这个指定目录下产生的文件与内容,必将将一目了然。

 

里面的一些奇怪参数代表什么呢,呵呵,看看下面解释就知道啦:

%h %p %s %D %b %v %r %{Referer}i %{User-Agent}i %t %h remote服务器名称,resolveHosts为false则为IP地址 %p 本地接收访问的端口 %s http状态代码,见下文 %D 访问发生的时间,以毫秒记 %b 发送信息的字节数,不包括http头,如果字节数为0的话,显示为- %v 服务器名称,请求中的 %r 访问的url %{Referer}i 请求方向 %{User-Agent}i 客户端

 

1xx-临时响应

100(继续) 请求者应当继续提出请求。服务器返回此代码则意味着,服务器已收到了请求的第一部分,现正在等待接收其余部分。

101(切换协议) 请求者已要求服务器切换协议,服务器已确认并准备进行切换。


2xx-成功

200(成功) 服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。如果您的 robots.txt 文件显示为此状态,那么,这表示 Googlebot 已成功检索到该文件。

201(已创建) 请求成功且服务器已创建了新的资源。

202(已接受) 服务器已接受了请求,但尚未对其进行处理。

203(非授权信息) 服务器已成功处理了请求,但返回了可能来自另一来源的信息。

204(无内容) 服务器成功处理了请求,但未返回任何内容。

205(重置内容) 服务器成功处理了请求,但未返回任何内容。与 204 响应不同,此响应要求请求者重置文档视图(例如清除表单内容以输入新内容)。

206(部分内容) 服务器成功处理了部分 GET 请求。


3xx-重定向

300(多种选择) 服务器根据请求可执行多种操作。服务器可根据请求者 (User agent) 来选择一项操作,或提供操作列表供请求者选择。

301(永久移动) 请求的网页已被永久移动到新位置。服务器返回此响应(作为对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。您应使用此代码通知 Googlebot 某个网页或网站已被永久移动到新位置。

302(临时移动) 服务器目前正从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。此代码与响应 GET 和 HEAD 请求的

301 代码类似,会自动将请求者转到不同的位置。但由于 Googlebot 会继续抓取原有位置并将其编入索引,因此您不应使用此代码来通知 Googlebot 某个页面或网站已被移动。

303(查看其他位置) 当请求者应对不同的位置进行单独的 GET 请求以检索响应时,服务器会返回此代码。对于除 HEAD 请求之外的所有请求,服务器会自动转到其他位置。

304(未修改) 自从上次请求后,请求的网页未被修改过。服务器返回此响应时,不会返回网页内容。

305(使用代理) 请求者只能使用代理访问请求的网页。如果服务器返回此响应,那么,服务器还会指明请求者应当使用的代理。

307(临时重定向) 服务器目前正从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。此代码与响应 GET 和 HEAD 请求的 301 代码类似,会自动将请求者转到不同的位置。但由于 Googlebot 会继续抓取原有位置并将其编入索引,因此您不应使用此代码来通知 Googlebot 某个页面或网站已被移动。


4xx-错误 400(错误请求) 服务器不理解请求的语法。

401(未授权) 请求要求进行身份验证。登录后,服务器可能会返回对页面的此响应。

403(已禁止) 服务器拒绝请求。如果在 Googlebot 尝试抓取您网站上的有效网页时显示此状态代码(您可在 Google 网站管理员工具中诊断下的网络抓取页面上看到此状态代码),那么,这可能是您的服务器或主机拒绝 Googlebot 对其进行访问。

404(未找到) 服务器找不到请求的网页。例如,如果请求是针对服务器上不存在的网页进行的,那么,服务器通常会返回此代码。

405(方法禁用) 禁用请求中所指定的方法。

406(不接受) 无法使用请求的内容特性来响应请求的网页。

407(需要代理授权) 此状态代码与 401(未授权)类似,但却指定了请求者应当使用代理进行授权。如果服务器返回此响应,那么,服务器还会指明请求者应当使用的代理。

408(请求超时) 服务器等候请求时超时。

409(冲突) 服务器在完成请求时发生冲突。服务器必须包含有关响应中所发生的冲突的信息。服务器在响应与前一个请求相冲突的 PUT 请求时可能会返回此代码,同时会提供两个请求的差异列表。

410(已删除) 如果请求的资源已被永久删除,那么,服务器会返回此响应。该代码与 404(未找到)代码类似,但在资源以前有但现在已经不复存在的情况下,有时会替代 404 代码出现。如果资源已被永久删除,那么,您应当使用 301 代码指定该资源的新位置。 411(需要有效长度) 服务器不会接受包含无效内容长度标头字段的请求。

412(未满足前提条件) 服务器未满足请求者在请求中设置的其中一个前提条件。

413(请求实体过大) 服务器无法处理请求,因为请求实体过大,已超出服务器的处理能力。

414(请求的URI过长) 请求的 URI(通常为网址)过长,服务器无法进行处理。

415(不支持的媒体类型) 请求的格式不受请求页面的支持。

416(请求范围不符合要求) 如果请求是针对网页的无效范围进行的,那么,服务器会返回此状态代码。

417(未满足期望值) 服务器未满足"期望"请求标头字段的要求。


5xx-服务器错误

500(服务器内部错误) 服务器遇到错误,无法完成请求。

501(尚未实施) 服务器不具备完成请求的功能。例如,当服务器无法识别请求方法时,服务器可能会返回此代码。 502(错误网关) 服务器作为网关或代理,从上游服务器收到了无效的响应。

503(服务不可用) 目前无法使用服务器(由于超载或进行停机维护)。通常,这只是一种暂时的状态。

504(网关超时) 服务器作为网关或代理,未及时从上游服务器接收请求。

505(HTTP 版本不受支持) 服务器不支持请求中所使用的 HTTP 协议版本。

windows下使用命令动态输出tomcat日志

转自http://www.51testing.com/html/99/478599-843404.html 最近测试遇到一个问题,我们的项目使用windows2003服务器,tomcat+ora...
  • u010113247
  • u010113247
  • 2016年04月11日 10:56
  • 6594

tomcat打印详细日志信息

Tomcat后台信息太少以至于不能得出问题空间出在哪儿(Tomcat的日志目录也无相关信息)。网上查询得知,通过配置Tomcat的Log,让它记录更多的日志信息,方能进一步分析原因。 在不能...
  • Senssic
  • Senssic
  • 2015年05月29日 10:06
  • 4129

linux上使用tomcat及查看日志

启动 startup.sh #执行 bin/startup.sh #启动tomcat bin/shutdown.sh #停止tomcat tail -f logs/catalina.ou...
  • yinbucheng
  • yinbucheng
  • 2017年06月27日 21:17
  • 400

eclipse集成tomcat日志文件输入配置

Where can I view Tomcat log files in Eclipse? I'm not sure if you were after catalina.out o...
  • caomiao2006
  • caomiao2006
  • 2015年07月21日 00:13
  • 4255

Easy UI运行于Tomcat服务器

解压Easy UI,将解压后的整个文件夹全部复制到Tomcat安装目录的webapps下,我的是F:\win10\apache-tomcat-6.0.53\webapps修改Tomcat安装目录下co...
  • cccmercy
  • cccmercy
  • 2017年12月14日 20:19
  • 77

tomcat startup.sh启动没有日志输出

tomcat 用sh startup.sh启动没有日志输出,需要切换到logs目录看日志太麻烦。 tomcat启动调用的是catalina.sh,所以需要在脚本里面添加输出命令。   else ...
  • qq_27623337
  • qq_27623337
  • 2016年11月23日 11:04
  • 2695

增加log4j日志的两种方法

一种是如下配置,但这种较为复杂,我配置的时候出现过内部类的日志没有写入的问题,尚未搞清楚原因,即在原有配置文件中追加: #CentralizedReceivedServer log4j.logger....
  • cloudeagle_bupt
  • cloudeagle_bupt
  • 2016年05月30日 11:06
  • 1131

idea中创建多module的maven工程

以前自学Java web的时候,我们都是创建一个web工程,该工程下面再创建dao、service、controller等包。自从工作以后,我们会发现现在的web项目包含多个module,contro...
  • sinat_30160727
  • sinat_30160727
  • 2017年09月27日 10:04
  • 212

Linux下Tomcat日志定期清理

转自:http://www.linuxidc.com/Linux/2010-11/29832.htm 服务器上的tomcat的catalina.out文件越来越大,查看起来很不方便,以前每次都是...
  • jackYangyang
  • jackYangyang
  • 2014年03月17日 14:43
  • 2642

tomcat下的日志配置详细说明

程序员都很懒,你懂的!
  • xmt1139057136
  • xmt1139057136
  • 2014年05月04日 13:16
  • 5403
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在tomcat下,给单个module添加日志的方法
举报原因:
原因补充:

(最多只允许输入30个字)