JBoss4.2.0GA中日志的配置

Posted on 2007-07-05 15:20 Java.net 阅读(1740) 评论(0)  编辑  收藏 所属分类: JBoss学习
JBoss的日志配置都通过xml的形式配置的,而大多项目应用又是通过log4j.properties来配置的..一下子还真的不适应.正好趁此机会复习一下log4j在JBoss下的xml的配置方式.
在应用中使用最多的一般有两种:输出到控制台、文件...下面就给出这两种输出方式的配置.
首先用UE打开位于%JBOSS_HOME%\server\default\conf\jboss-log4j.xml
1、控制台
如果使用的时Eclipse,则是输出到Console..正式应用中输出到JBoss的CMD.
找到文件中默认的CONSOLE配置..拷贝复制,改名为mylog1...
<appender name="mylog1" class="org.apache.log4j.ConsoleAppender">
      
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
      
<param name="Target" value="System.out"/>
    
<!--配置日志级别,这里位DEBUG-->
      
<param name="Threshold" value="DEBUG"/>

      
<layout class="org.apache.log4j.PatternLayout">
         
<!-- The default pattern: Date Priority [Category] Message\n -->
         
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
      
</layout>
   
</appender>
其它保持默认就好了...
2、文件
JBoss中缺省的FILE配置是每日回滚,如果一天的日志量大于了单个文件的大小,则当前的日志文件就会被覆盖..因此一般都设置一个根据文件大小回滚的配置.
<appender name="mylog2" class="org.jboss.logging.appender.RollingFileAppender">
      
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
      
<param name="File" value="${jboss.server.log.dir}/mylog2.log"/>
      
<param name="Append" value="false"/>
      
<!-- Rollover at midnight each day -->
      
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
      
<!-- Rollover at the top of each hour
      <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
      
-->
      
<layout class="org.apache.log4j.PatternLayout">
         
<!-- The default pattern: Date Priority [Category] Message\n -->
         
<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
         
<!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
         <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
          
-->
      
</layout>
   
</appender>

这里把默认的org.jboss.logging.appender.DailyRollingFileAppender换为org.jboss.logging.appender.RollingFileAppender
完全可以顾名思义.File属性用于指定日志文件存放的位置...

定义好了两个配置后,需要定义一个logger标记

<logger name="yourclass"> 
    
<level value="DEBUG" />
    
<appender-ref ref="mylog1"/>
    
<appender-ref ref="mylog2"/>
</logger>
设置级别位DEBUG调试..引用前面定义mylog1,mylog2...logger标记的name属性表示需要日志输出的包.可以指定为包路径也可以指定为类名.例如:com.xxx 表示com.xxx下的所有类就会被输出,com.xxx.yyy.zzz(zzz为类名)表示zzz类将会输出.

只有注册用户登录后才能发表评论。


网站导航: