`
shuimuya
  • 浏览: 47767 次
  • 性别: Icon_minigender_1
  • 来自: 陕西
社区版块
存档分类
最新评论

JBoss中针对不同项目的日志配置

    博客分类:
  • java
web 
阅读更多

 

以下的转载内容来自:

http://blog.chinaunix.net/space.php?uid=551255&do=blog&cuid=2105112

 

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类将会输出.



有一个项目,可能前期代码不太规范,导致大量的调试语句通过打印或其它的一些方式显示出来。又因为log4j的日志级别设置成了INFO,所以导致产生的日志巨大,而且每天生成一个日志文件,占据硬盘的空间也十分惊人。最终的结果是系统常常登录不了。一般的情况是与数据库打交道失败,这倒情有可原,但是出现登录界面就无法访问的情况就有点奇怪,最后认定是因为日志的问题,所以需要调整一下jboss的日志配置。在linux下面,配置文件在 /usr/jboss/server/defaults/conf/log4j.xml,当然具体的路径与各自的安装有关。日志的产生文件在/usr/jboss/server/defaults/log下面,名为server.log
以下为转载内容,因为没看到有作者信息,所以就没写了。
log4j是一个优秀的开源的Java日志系统,jboss内部也集成了它,在jboss下默认的只是对server做了每日日志,并没有对你部署的项目进行每日的日志构建,但我们可以通过修改log4j.XML文件来实现。log4j.xml文件在jboss安装目录下的server\default\conf下,打开log4j.xml文件Office:office" />

这是log4j默认的配置,我们先熟悉一下
<!-- ============================= -->
<!-- Append messages to the console -->
<!-- ============================= -->
<!--输出方式:输出到控制台-->

<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<!-- 设置通道名称:console和输出方式:org.apache.log4j.RollingFileAppender 其中输出方式appender有5种,分别为

org.apache.log4j.ConsoleAppender (控制台)

org.apache.log4j.FileAppender (文件)

org.apache.log4j.DailyRollingFileAppender (每天产生一个日志文件)

org.apache.log4j.WriterAppender (将日志信息以流格式发送到任意指定的地方)-->

<param name="Target" value="System.out"/>

<param name="Threshold" value="INFO"/>

<!--Threshold是个全局的过滤器,它将把低于所设置的level的信息过滤不显示出来-->

<!--level:是日记记录的优先级,优先级由高到低分为 OFF ,FATAL ,ERROR ,WARN ,INFO,DEBUG ,ALL。

Log4j建议只使用FATAL ,ERROR ,WARN ,INFO ,DEBUG这四个级别。-->

<layout class="org.apache.log4j.PatternLayout">

<!-- 配置日志输出的格式-->

参数都以%开始后面不同的参数代表不同的格式化信息(参数按字母表顺序列出):

%c 输出所属类的全名,可在修改为 %d{Num} ,Num类名输出的围 如:"org.apache.elathen.ClassName", %C{2}将输出elathen.ClassName

%d 输出日志时间其格式为 %d{yyyy-MM-dd HH:mm:ss,SSS},可指定格式 如%d{HH:mm:ss}

%l 输出日志事件发生位置,包括类目名、发生线程,在代码中的行数

%n 换行符

%m 输出代码指定信息,如info(“message”),输出message

%p 输出优先级,即 FATAL ,ERROR 等

%r 输出从启动到显示该log信息所耗费的毫秒数

%t 输出产生该日志事件的线程名

<!-- The default pattern: Date Priority [Category] Message\n -->

<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>

</layout>

</appender>


<!输出方式是:每天一个日志文件>

<!-- A time/date based rolling appender -->

<appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">

<!--设置通道名称是:file,输出方式DailyRollingFileAppender-->

<param name="File" value="${jboss.server.home.dir}/log/server.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>

上面是jboss下log4j的默认配置,对jboss的server进行日志记录,接下来我们添加Web项目的日志,在log4j.xml   文件中把下面的配置信息加上去就可以了

<!-- A size based file rolling appender-->

<appender name="com.szypt.all" class="org.jboss.logging.appender.RollingFileAppender">

<param name="File" value="${jboss.server.home.dir}/log/elathen.log"/>

<param name="Append" value="true"/>

<param name="MaxFileSize" value="500KB"/>

<param name="MaxBackupIndex" value="1"/>

<layout class="org.apache.log4j.PatternLayout">

<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>

</layout>

</appender>

<logger name="com.szypt">

<level value="DEBUG" />

<appender-ref ref="com.szypt.all"/>

</logger>


 

分享到:
评论

相关推荐

    JAVA上百实例源码以及开源项目源代码

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    JAVA上百实例源码以及开源项目

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    测试培训教材

    JBOSS_HOME\server\default\deploy\jbossweb-tomcat55.sar\server.xml 6、修改IP地址后不能登录QC 解决办法: 在C:\Program Files\Mercury\Quality Center\jboss\server\default\deploy目录下找到10sabin.war ...

    mysql官方中文参考手册

    6.5. 不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性和已知问题 6.8. 复制启动选项 6.9. 复制FAQ 6.10. 复制故障诊断与排除 6.11. 通报复制缺陷 6.12. 多服务器复制中的...

    MYSQL中文手册

    6.5. 不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性和已知问题 6.8. 复制启动选项 6.9. 复制FAQ 6.10. 复制故障诊断与排除 6.11. 通报复制缺陷 6.12. 多服务器...

    MySQL 5.1官方简体中文参考手册

    目录 前言 1. 一般信息 ...6.5. 不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性和已知问题 6.8. 复制启动选项 6.9. 复制FAQ 6.10. 复制故障诊断与排除 ...

    MySQL 5.1参考手册 (中文版)

    6.5. 不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性和已知问题 6.8. 复制启动选项 6.9. 复制FAQ 6.10. 复制故障诊断与排除 6.11. 通报复制缺陷 6.12. 多服务器复制中的...

    MySQL 5.1参考手册中文版

    6.5. 不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性和已知问题 6.8. 复制启动选项 6.9. 复制FAQ 6.10. 复制故障诊断与排除 6.11. 通报复制缺陷 6.12. 多服务器...

    MySQL 5.1参考手册

    6.5. 不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性和已知问题 6.8. 复制启动选项 6.9. 复制FAQ 6.10. 复制故障诊断与排除 6.11. 通报复制缺陷 6.12. 多服务器复制中的...

    MySQL5.1参考手册官方简体中文版

    6.5. 不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性和已知问题 6.8. 复制启动选项 6.9. 复制FAQ 6.10. 复制故障诊断与排除 6.11. 通报复制缺陷 6.12. 多服务器复制中的...

    mysql5.1中文手册

    不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性和已知问题 6.8. 复制启动选项 6.9. 复制FAQ 6.10. 复制故障诊断与排除 6.11. 通报复制缺陷 ...

    java开源包1

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包11

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包2

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包3

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包6

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包5

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包10

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

Global site tag (gtag.js) - Google Analytics