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的日志会重复。本人碰到过类似的问题。

后面:我们会翻译JBoss的官网文档,请继续关注。

时间: 2024-10-24 11:24:12

JBoss5.x下配置Log4j简记的相关文章

ssm环境下配置log4j打印mybatis的sql语句

首先附上官网的说明文档: mybatis Logging环境spring4.3.0+springmvc4.3.0+mybatis3.4.0 按官方文档的说明 1 SLF4J 2 Apache Commons Logging 3 Log4j 2 4 Log4j 5 JDK logging mybatis会使用最先找到的(按上文列举的顺序查找),不少应用服务器的classpath中已经包含Commons Logging,如Tomcat和WebShpere, 所以MyBatis会把它作为具体的日志实现

在Spring的项目中配置Log4j存放日志文件到指定目录下

在Spring中使用LOG4J为日志输出的插件已有一段日子了,但有时候发现日志文件虽然是已经在根据自己的理想存放了,但还会有些莫名其妙的项目日志文件出现tomcat内(因为项目的日志文件都以项目命名嘛,所以比较容易区分这些log).这些令我纠结的日志文件,让我在改善一下LOG4J的配置.才发现,之前用的配置方式真是弱爆了. 1.先说自己比较理想的存放日志路径. 我比较喜欢把日志文件放在项目的WEB-INF下,然后当然有个文件夹叫logs.logs相信很多人都会存在在这样的目录下,但放在WEB-I

配置Log4j(非常具体)

来自: http://www.blogjava.net/zJun/archive/2006/06/28/55511.html Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,能够创建出Log4J的执行环境. 1. 配置文件Log4J配置文件的基本格式例如以下: #配置根Loggerlog4j.rootLogger  =   [ level ]   ,  appenderNam

eclipse通过maven建立java se工程配置log4j,打包成zip,将jar包和配置文件分开,并以bat和sh文件启动java程序

一.新建maven的java工程 1.eclipse里file-new-other,选择maven Project 2.选中 Use default Workspace location,然后 next 3.选择maven-archetype-quitstart,然后next 4.填入工程信息,然后finish 6.新建好的工程结构如图 7.将test下和java下自动生成的java类删除,右键build-path选择好jdk版本,整个工程就建好了. 二.配置log4j 1.将工程目录调整成下图

eclipse配置log4j在控制台打印的字体颜色

1.安装插件net.mihai-nita.ansicon.plugin: 下载net.mihai-nita.ansicon.plugin.zip,解压得一个plugin目录,复制父目录到eclipse根目录下自建的MyPlugins目录下,如下:                               在eclipse根目录下建立links文件夹,写上插件路径:path=C:\\applications\\eclipse\\MyPlugins\\net.mihai-nita.ansicon.

配置Log4J(转载)

Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境. 1. 配置文件Log4J配置文件的基本格式如下:  #配置根Loggerlog4j.rootLogger  =   [ level ]   ,  appenderName1 ,  appenderName2 ,  …#配置日志信息输出目的地Appenderlog4j.appender.appen

Spring 配置log4j和简单介绍Log4J的使用

Log4j 是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务器.NT的事 件记录器.UNIX Syslog守护进程等:我们也可以控制每一条日志的输出格式:通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程.最令人感兴趣的就 是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码. 如此强大的优越性,实际上手并不难,尤其在spring框架下,使用log4j更是容易,下面介绍一下spri

spring框架下配置lucene

lucene特点及效果文章里就不说了,网上有的是.我就简单说下自己号码大全了解, 正常 sql 查询时:name like '%继中%' 想必咱们一定理解这样不会走索引关键词挖掘的,然后就在多行数据等级查询相应时刻会很慢,对吧,由于数据库在一行行扫呢.所以咱们自然会想到怎样能让它走索引? 解决方案之一:lucene出来了. 本来它即是帮你把文章拆分红若干个关键字,这样以便按关键字查询时能经过关键字直接查询来确定哪些文章匹配该关键字并疾速回来.说再直白点,即是 sql句子的查询不必like ,而是

SpirngMVC 配置 Log4j

之前在日志中一直看不到用户请求路径的日志.原来SpringMVC中Log4j的配置方式有些不同 如果使用spring插件创建一个spring template project,它会默认带log4j,只要改下log4j的配置就可以使用了,如果自己创建的project,就要加载下log4f的包了,使用步骤如下 1.pom.xml加入log4j的依赖包 Java代码   <!-- Logging --> <dependency> <groupId>org.slf4j</