JBoss5.x下配置Log4j方法介绍

最近在学习JBoss下配置Log4j,JBoss的各个版本的目录、JBoss和Log4j集成的文件名每次都有变化,在JBoss5.x下配置了log4j.xml文件,但是配置没有生效。如果你在项目中没有指定使用的log4j的配置文件,最好使用JBoss自带的配置文件,文件名为jboss-log4j.xml。该文件在Jboss容器的目录为:${JBOSS_HOME}\server\default\conf下。下面就是基于log4j默认配置的一些基本修改和注释:

<span style="font-size:12px;"><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
  <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
    <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler" />
    <param name="File" value="${jboss.server.log.dir}/server.log" />
    <param name="Append" value="true" />
    <!-- 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>
  <appender name="ErrorFile" class="org.jboss.logging.appender.DailyRollingFileAppender">
    <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler" />
    <param name="File" value="${jboss.server.log.dir}/error.log" />
    <param name="Threshold" value="ERROR" />
    <param name="Append" value="true" />
    <!-- Rollover at midnight each day -->
    <param name="DatePattern" value="'.'yyyy-MM-dd" />
    <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>
  <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
    <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler" />
    <param name="Target" value="System.out" />
    <param name="Threshold" value="INFO" />
    <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>
  <!-- ================ -->
  <!-- Limit categories -->
  <!-- ================ -->
  <category name="org.hibernate">
    <priority value="WARN" />
  </category>
  <category name="org.hibernate.engine.loading.LoadContexts">
    <priority value="ERROR" />
  </category>
  <category name="org.jboss">
    <priority value="INFO" />
  </category>
  <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
  <category name="org.apache">
    <priority value="WARN" />
  </category>
  <!-- Limit the jacorb category to WARN as its INFO is verbose -->
  <category name="jacorb">
    <priority value="WARN" />
  </category>
  <!-- Limit the org.jgroups category to WARN as its INFO is verbose -->
  <category name="org.jgroups">
    <priority value="WARN" />
  </category>
  <!-- Limit the org.quartz category to INFO as its DEBUG is verbose -->
  <category name="org.quartz">
    <priority value="INFO" />
  </category>
  <!-- Limit the JSR77 categories -->
  <category name="org.jboss.management">
    <priority value="INFO" />
  </category>
  <!-- Limit the org.jboss.serial (jboss-serialization) to INFO as its DEBUG is verbose -->
  <category name="org.jboss.serial">
    <priority value="INFO" />
  </category>
  <category name="com.liang">
    <priority value="DEBUG" />
  </category>
  <!-- ======================= -->
  <!-- Setup the Root category -->
  <!-- ======================= -->
  <root>
    <appender-ref ref="CONSOLE" />
    <appender-ref ref="FILE" />
    <appender-ref ref="ErrorFile" />
  </root>
</log4j:configuration></span> 

1. Log4j的几种输出方式

org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定位置)

2. 日志记录的优先级

优先级从高到低:OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL。
log4j建议使用FATAL、ERROR、WARN、INFO、DEBUG。
你可以在<param name="Threshold" value="ERROR" />来配置level,Threshold是一个全局的过滤器,低于其设置的level将不会显示出来。

3. 当重启Jboss服务之后是否保存之前的日志

<param name="Append" value="true" />,设置为true后,当Jboos重启后当前的log不会消失,即在原有日志上增加新日志。

4. 日志输出格式

%c     输出所属类的全名,可在修改为 %c{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     输出产生该日志事件的线程名

5. 关于category的配置

category指定了以什么开头的包下的类输出的日志的级别。例如:

<category name="com.liang">
  <priority value="DEBUG" />
  <appender-ref ref='FILE'/>
</category>

从上面可以看出,项目中以com.liang包开头的所有类中,凡是DEBUG级别的日志可以输出到FILE中。

注意:定义了一个appender-ref=FILE的引用,但是你如果也在root下配置了appender-ref=FILE的引用,会导致输出到FILE的日志会重复。本人碰到过类似的问题。

总结

以上就是本文关于JBoss5.x下配置Log4j方法介绍的全部内容,希望对大家有所帮助。刚兴趣的朋友可以继续参阅本站:浅谈Spring的两种配置容器、为什么我们要做三份 Webpack 配置文件、Java之Spring注解配置bean实例代码解析等,感谢阅读、

(0)

相关推荐

  • jboss配置方法简明教程

    本文讲述了jboss配置方法.分享给大家供大家参考,具体如下: jboss-5.1.0.GA-jdk6.zip配置: 1. JDK安装后的配置: 在环境变量中添加JAVA_HOME变量,其值设置为:JDK的安装路径C:\Java\jdk6.0 在系统变量里添加CLASSPATH变量,其值设置为: .;%JAVA_HOME%\lib\dt.jar; %JAVA_HOME%\lib\tools.jar; 然后在系统变量里找到path变量,在其值最后添加 ; %JAVA_HOME%\bin 2. 下载

  • JBoss5.x下配置Log4j方法介绍

    最近在学习JBoss下配置Log4j,JBoss的各个版本的目录.JBoss和Log4j集成的文件名每次都有变化,在JBoss5.x下配置了log4j.xml文件,但是配置没有生效.如果你在项目中没有指定使用的log4j的配置文件,最好使用JBoss自带的配置文件,文件名为jboss-log4j.xml.该文件在Jboss容器的目录为:${JBOSS_HOME}\server\default\conf下.下面就是基于log4j默认配置的一些基本修改和注释: <span style="fon

  • CentOS 7下配置Ruby语言开发环境的方法教程

    本文跟大家分享的是在CentOS 7下配置Ruby语言开发环境的方法教程,分享出来供大家参考学习,下面来看看详细的介绍: 安装Ruby 2.2 CentOS7存储库中的Ruby版本为2.0,但如果需要,可以使用RPM软件包安装2.2 1.添加CentOS SCLo软件集合存储库 [root@linuxprobe ~]# yum -y install centos-release-scl-rh centos-release-scl # set [priority=10] [root@linuxpr

  • springboot下配置多数据源的方法

    一.springboot 简介 SpringBoot使开发独立的,产品级别的基于Spring的应用变得非常简单,你只需"just run". 我们为Spring平台及第三方库提 供开箱即用的设置,这样你就可以有条不紊地开始.多数Spring Boot应用需要很少的Spring配置. 你可以使用SpringBoot创建Java应用,并使用 java -jar 启动它或采用传统的war部署方式.我们也提供了一个运行"spring 脚本"的命令行工具. 二.传统的Dat

  • 在Java下利用log4j记录日志的方法

    1.前言 log4j是一个用Java编写的可靠,快速和灵活的日志框架(API),它在Apache软件许可下发布. Log4j已经被移植到了C,C++,C#,Perl,Python和Ruby等语言中. Log4j是高度可配置的,并可通过在运行时的外部文件配置.它根据记录的优先级别,并提供机制,以指示记录信息到许多的目的地,例如:数据库,文件,控制台,UNIX系统日志等. Log4j中有三个主要组成部分: loggers: 负责捕获记录信息. appenders : 负责发布日志信息,以不同的首选目

  • Ubuntu samba下配置共享文件夹的方法

    文件放在ubuntu下,通过samba共享到windows,避免windows下不支持软链接的问题. 虚拟机安装的ubuntu系统,联网方式为NAT # 更新源 sudo apt-get update # 安装samba sudo apt-get install samba samba-common sudo apt-get install cifs-utils<strong> </strong> # 创建共享的目录 sudo mkdir /home/share sudo chmo

  • nginx下配置thinkphp文件的方法

    在上篇文章给大家介绍了在Nginx上部署ThinkPHP项目教程,今天给大家介绍nginx下thinkphp的配置,具体详解如下: ## domain redirect #if ($host != "my.ruanzhuangyun.cn"){ # rewrite ^/(.*)$ http://my.ruanzhuangyun.cn/$1 permanent; #} ## domain redirect ## tp pathinfo location /data/www/tp.360r

  • CentOS 7下配置ntp服务的方法教程

    前言 对于校园网/企业用户,如果您网内所有计算机都通过互联网同步时间,在速度和精度上都有一定的折扣,并且对互联网出口带宽也有一定的影响,对于这类用户,我们建议通过自己搭建ntp服务为内部用户提供时间同步服务. 本文介绍的是在CentOS 7下配置ntp服务的方法教程,分享出来供大家参考学习,下面来看看详细的介绍吧. 步骤如下: 安装ntp yum -y install ntp 同步时间 ntpdate pool.ntp.org 将ntp服务设为开机启动 chkconfig ntpd on 重启n

  • SSM项目中配置LOG4J日志的方法

    本文介绍了SSM项目中配置LOG4J日志的方法,分享给大家,具体如下: 在pom文件中添加依赖 . <!--Log4j2配置--> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.8.1</version> </dependency> <

  • linux环境下配置mysql5.6支持IPV6连接的方法

    简介: 本文主要介绍在linux系统下,如何配置mysql支持IPV6的连接. 环境要求: 1.debian7.5操作系统虚拟机 2.mysql5.6版本的数据库,并且已经在debian7.5系统上安装成功,可以正常通过IPV4的地址连接 配置方法 1.确认系统是否支持IPV6,输入命令ping6 ::1,有下图回显说明支持IPV6地址 2.如果不支持,配置网卡eth0增加IPV6地址 1)输入命令vim /etc/network/interfaces ,增加inet6的网卡配置 2)输入命令

  • Linux环境下快速搭建ftp服务器方法介绍

    本文研究的主要是Linux环境下快速搭建ftp服务器方法,具体如下.首先看看ftp的介绍: FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件.在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上

随机推荐