log4j 配置

网上搜集 合并出来的。 呵呵。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"  value="%p [%t] %c{1}.%M(%L) | %m%n"/>
        </layout>
    </appender>
   
    <appender name="EVERYDAY" class="org.apache.log4j.DailyRollingFileAppender">
     <param name="File" value="${catalina.home}/logs/jml/customer.log"/>
     <param name="Append" value="true"/>
     <param name="DatePattern" value="'.'yyyy-MM-dd"/>
     <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%p [%t] %c{1}.%M(%L) | %m [%d{yyyy-MM-dd HH:mm:ss}] %n "/>
        </layout>
    </appender>
   


<appender name="EMAIL"  class="org.apache.log4j.net.SMTPAppender">
        <param name="Threshold" value="INFO"/>
        <param name="BufferSize" value="128" />
        <param name="SMTPHost" value="mail.emapgo.com.cn" />
        <param name="From" value="zhanghc@emapgo.com.cn" />
        <param name="To" value="zhanghc@emapgo.com.cn,zhang_hong_cai@sina.com.cn" />
        <param name="Subject" value=" jml error  send from zhc Computer" />
        <layout class="org.apache.log4j.PatternLayout">
            <!--<param name="ConversionPattern"  value="[%d{ISO8601}]%n%n%-5p%n%n%c%n%n%m%n%n" />-->
            <param name="ConversionPattern" value="[%d{ISO8601}] %-5p %c %m%n"/>
        </layout>
</appender>

    <appender name="jdbcChannelLog" class="org.apache.log4j.jdbc.JDBCAppender">
  <param name="driver" value="com.mysql.jdbc.Driver" />
  <param name="URL" value="jdbc:mysql://ip/database?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=utf-8" />
  <param name="user" value="" />
    <param name="password" value="" />
  <param name="bufferSize" value="1" />
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern" value="INSERT INTO LOGGING (log_date,log_level,location,message) VALUES ('%d{ISO8601}', '%-5p', '%C,%L', '[%m]')" />
  </layout>
</appender>

    <logger name="net.sf.ehcache">
        <level value="ERROR"/>
    </logger>

    <!-- Suppress success logging from InteractiveAuthenticationSuccessEvent -->
    <logger name="org.acegisecurity">
        <level value="ERROR"/>
    </logger>

    <logger name="org.apache">
        <level value="WARN"/>
    </logger>

    <!-- Suppress invalid warning messages from JSF -->
    <logger name="org.apache.myfaces.shared_impl.renderkit.html">
        <level value="ERROR"/>
    </logger>
    <!-- zhongcai tian -->
  <logger name="com.hualong.webapp.filter">
        <level value="ERROR"/>
    </logger>
    <logger name="org.hibernate">
        <level value="WARN"/>
    </logger>
 
    <!--logger name="org.hibernate.SQL">
        <level value="DEBUG"/>
    </logger-->

    <logger name="org.springframework">
        <level value="WARN"/>
    </logger>
  
    <logger name="com.hualong">
        <level value="DEBUG"/>
    </logger>

    <logger name="com.hualong.webapp.filter.StaticFilter">
        <level value="INFO"/>
    </logger>

    <root>
        <level value="WARN"/>
        <appender-ref ref="EMAIL"/>
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="EVERYDAY"/>
       
    </root>

</log4j:configuration>

 

 

参数

说明

例子

%c

列出logger名字空间的全称,如果加上{<层数>}表示列出从最内层算起的指定层数的名字空间

log4j配置文件参数举例

输出显示媒介

假设当前logger名字空间是"a.b.c"

%c

a.b.c

%c{2}

b.c

%20c

(若名字空间长度小于20,则左边用空格填充)

%-20c

(若名字空间长度小于20,则右边用空格填充)

%.30c

(若名字空间长度超过30,截去多余字符)

%20.30c

(若名字空间长度小于20,则左边用空格填充;若名字空间长度超过30,截去多余字符)

%-20.30c

(若名字空间长度小于20,则右边用空格填充;若名字空间长度超过30,截去多余字符)

%C

列出调用logger的类的全名(包含包路径)

假设当前类是"org.apache.xyz.SomeClass"

%C

org.apache.xyz.SomeClass

%C{1}

SomeClass

%d

显示日志记录时间,{<日期格式>}使用ISO8601定义的日期格式

%d{yyyy/MM/dd HH:mm:ss,SSS}

2005/10/12 22:23:30,117

%d{ABSOLUTE}

22:23:30,117

%d{DATE}

12 Oct 2005 22:23:30,117

%d{ISO8601}

2005-10-12 22:23:30,117

%F

显示调用logger的源文件名

%F

MyClass.java

%l

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

%l

MyClass.main(MyClass.java:129)

%L

显示调用logger的代码行

%L

129

%m

显示输出消息

%m

This is a message for debug.

%M

显示调用logger的方法名

%M

main

%n

当前平台下的换行符

%n

Windows平台下表示rn
UNIX
平台下表示n

%p

显示该条日志的优先级

%p

INFO

%r

显示从程序启动时到记录该条日志时已经经过的毫秒数

%r

1215

%t

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

%t

MyClass

%x

NDCNested Diagnostic Context,线程堆栈)顺序输出日志

假设某程序调用顺序是MyApp调用com.foo.Bar

%c %x - %m%n

MyApp - Call com.foo.Bar.
com.foo.Bar - Log in Bar
MyApp - Return to MyApp.

%X

MDCMapped Diagnostic Context,线程映射表)输出日志。通常用于多个客户端连接同一台服务器,方便服务器区分是那个客户端访问留下来的日志。

%X{5}

(记录代号为5的客户端的日志)

%%

显示一个百分号

%%

%

 

http://www.blogjava.net/Unmi/articles/124106.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值