jboss日志

本文介绍了JBoss日志的配置文件、日志类型,包括控制台日志和文件日志。讲解了如何更改文件日志的生成位置,设置参数`jboss.server.log.dir`。还讨论了如何避免启动时覆盖日志,以及通过修改`append`参数和`class`属性防止日志被覆盖。最后,提到了通过调整日志级别控制日志量的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JBOSS日志:
1、涉及到的配置文件和日志文件:server/XXX/conf/jboss-log4j.xml server/XXX/log/server.log
2、jboss日志默认包括控制台日志(对应jboss-log4j.xml配置文件中的 <appender name="CONSOLE" )和文件日志(对应jboss-log4j.xml配置文件中的 <appender name="FILE" )。默认情况下,jboss采用DailyRollingFileAppender(每天循环生成)方式生成文件日志:server.log,每次启动jboss时生成的日志都会覆盖上次启动时生成的日志。
3、如何更改文件日志生成的位置?
默认情况下,文件日志的生成位置在 JBOSS-HOME/server/default/log 目录下,通过设置参数jboss.server.log.dir的值可以更改文件日志生成的位置,如:Djboss.server.log.dir=C:/Logs/JBossLog。在什么地方设置呢?由于此参数值在jboss启动后已经确定,所以我们应该在启动的时候设置此参数值.
1) 打开启动文件run.bat,在其中增加一行:set JAVA_OPTS=-Djboss.server.log.dir=C:/Logs/JBossLog %JAVA_OPTS%,注意:在%JAVA_OPTS%前有一个空格。
2) 运行run.bat,启动jboss,启动完成后可以看到在C:/Logs/JBossLog 目录下生成了server.log日志文件。
4、每次启动jboss时,如何使生成的日志不覆盖上次的日志?
在jboss-log4j.xml文件中改变name为file的appender的append参数值为true。
[img]http://dl.iteye.com/upload/attachment/0081/2881/a8be10cb-a238-3d6e-a546-9249132c7242.jpg[/img]
如此设置之后,隔天生成的日志仍然会覆盖前面的日志(如9月2日生成的日志会覆盖9月1日生成的日志),如何使之不覆盖呢?只需在jboss-log4j.xml文件中改变name为file的appender的class属性值为:org.jboss.logging.appender.RollingFileAppender。
5、如何控制jboss生成的日志量?
在开发过程或者生产环境中,会生成大量的日志,这些日志可能会占用大量的磁盘空间。我们可以通过设置日志级别来控制生成的日志量。比如,使用hibernate时,会生成大量如下类似日志:
为了减少此类日志的生成,我们可以在jboss-log4j.xml文件中增加一个category:
<category name="org.hibernate">
<priority value="INFO"/>
</category>
其中name的值为你想要减少的日志的开头部分。上面的配置为:把org.hibernate开头的日志级别设置为info,这样debug级别的日志将不会输出。
deploy/jbossweb-tomcat55.sar/server.xml <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve" prefix="access_log." suffix=".log" pattern="%h %t %r %s %D" directory="${jboss.server.home.dir}/../output/logs" resolveHosts="false" /> http://tomcat.apache.org/tomcat-5.5-doc/config/valve.html pattern配置: %a - Remote IP address %A - Local IP address %b - Bytes sent, excluding HTTP headers, or '-' if zero %B - Bytes sent, excluding HTTP headers %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 %S - User session ID %t - Date and time, in Common Log Format %u - Remote user that was authenticated (if any), else '-' %U - Requested URL path %v - Local server name %D - Time taken to process the request, in millis %T - Time taken to process the request, in seconds %I - current request thread name (can compare later with stacktraces) There is also support to write information from the cookie, incoming header, outgoing response headers, the Session or something else in the ServletRequest. It is modeled after the apache syntax: %{xxx}i for incoming request headers %{xxx}o for outgoing response headers %{xxx}c for a specific request cookie %{xxx}r xxx is an attribute in the ServletRequest %{xxx}s xxx is an attribute in the HttpSession The shorthand pattern name common (which is also the default) corresponds to '%h %l %u %t "%r" %s %b'.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值