Log4j使用(一):每天生成一个日志文件DailyRollingFileAppender的使用

不多说,先上一个XML版的配置范例:

<appender name="fileAppenderInfo" class="org.apache.log4j.DailyRollingFileAppender">
 	//文件存放路径
        <param name="File" value="/opt/caslog/cas_log_info.log" />
	//每次记录时是否叠加,默认为true
        <param name="Append" value="true" />
	//日期后缀格式(下面有详细配置说明)
        <param name="DatePattern" value="'.'yyyy-MM-dd-HH-mm'.log'" />
 	//日志文件中所显示的信息格式(下面介绍)
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%d{HH:mm:ss:SSS}] [%p] - %m%n"/>
        </layout>
 	//过滤器,记录的日志等级[LevelMin,LevelMax]
        <filter class="org.apache.log4j.varia.LevelRangeFilter">
            <param name="LevelMin" value="INFO" />
            <param name="LevelMax" value="INFO" />
        </filter>
</appender>


一、日期的后缀格式(即DatePattern属性)介绍:

可选值有6个:

* '.'yyyy-MM,对应monthly(每月)

* '.'yyyy-ww,对应weekly(每周)

* '.'yyyy-MM-dd,对应daily(每天)

* '.'yyyy-MM-dd-a,对应half-daily(每半天)

* '.'yyyy-MM-dd-HH,对应hourly(每小时)

* '.'yyyy-MM-dd-HH-mm,对应minutely(每分钟)

注意:1、不需要处理的字符要加单引号,如上面可选值中的'.',还有示例中的'.log'

   2、生成的第一个文件不会带有日期后缀,过了DatePatten所设定的间隔后,再生成新的文件后,之前的文件就会被转换成带日期格式的文件。



二、日志文件中所显示的信息格式(即ConversionPattern属性):

-X号: X信息输出时左对齐;

%p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL,

%d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921

%r: 输出自应用启动到输出该log信息耗费的毫秒数

%c: 输出日志信息所属的类目,通常就是所在类的全名

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

%l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)

%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。

%%: 输出一个"%"字符

%F: 输出日志消息产生时所在的文件名称

%L: 输出代码中的行号

%m: 输出代码中指定的消息,产生的日志具体信息

%n: 输出一个回车换行符,Windows平台为"\r\n",Unix平台为"\n"


附:范例中对应的java代码:

定义org.apache.log4j.Logger变量:

private static final Logger LOG = Logger.getLogger(xxx.class);

使用:

LOG.info("clerkNo=" +clerkNo+ ",currentTime="+currentTime+",IP="+currentIp);

文件列表展示:

文本内容展示:

[14:14:39:778] [INFO] - clerkNo=8332173,currentTime=2017-09-29 14:14:39,IP=10.12.112.28



  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值