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。
![](http://dl.iteye.com/upload/attachment/0081/2881/a8be10cb-a238-3d6e-a546-9249132c7242.jpg)
如此设置之后,隔天生成的日志仍然会覆盖前面的日志(如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级别的日志将不会输出。