读书人

log4j的使用与配置

发布时间: 2012-08-28 12:37:01 作者: rapoo

log4j的应用与配置
在java编程领域,log4j已经是事实上的日志输出工具。不但功能强大,配置还非常简单。
一、基础知识
1、5种输出目的地(appender)
(1)控制台:

org.apache.log4j.ConsoleAppender

(2)文件
org.apache.log4j.FileAppender

(3)滚动文件
org.apache.log4j.RollingFileAppender

(4)每日滚动文件
org.apache.log4j.DailyRollingFileAppender

(5)书写器(暂时这么翻译,即以流格式发送到任意指定的地方)
org.apache.log4j.WriterAppender


2、7种优先级(priority)
从高到低分别是:
off fatal error warn info debug all

3、8种输出模式(PatternLayout)参数
%c:输出所属类的全名,可加上参数配置为 %c{Num},num是整数值,表示输出类的全名的后几个单词。
%d:输出时间,可加上参数配置为%d{yyyy-MM-dd HH:mm:ss SSS}
%l:日志的位置信息,包括类名,线程名,代码行数等
%t:产生该日志的线程名
%r:输出从启动到该日志的所耗费的毫秒数
%p:输出优先级名称,如debug,info等
%m:代码指定的信息。如logger.info("xxxx")
%n:换行符。通常配置在最后面。

二、实例
1、开发环境为ssh.通过xml来配置
2、ssh环境下的依赖包
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"><log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"><!-- Appenders --><appender name="console" value="System.out" /><layout value="%-5p: %c - %m%n" /></layout></appender><appender name="file" value="D:/myapp.log" /> <param name="Append" value="true" /> <param name="MaxBackupIndex" value="10" /> <layout value="%p (%c:%L)- %m%n" /> </layout> </appender> <appender name="dailyFile" value="D:/myapp.log" /> <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" /> <layout value="[%d{MMdd HH:mm:ss}] %p : %c{3\} - %m%n" /> </layout> </appender><!-- Application Loggers --><logger name="com.harmony.cap.auth"><level value="debug" /></logger><logger name="com.harmony.common"><level value="debug" /></logger><!-- 3rdparty Loggers --><logger name="org.springframework.core"><level value="info" /></logger><logger name="org.springframework.beans"><level value="info" /></logger><logger name="org.springframework.context"><level value="info" /></logger><logger name="org.springframework.web"><level value="info" /></logger><logger name="org.springframework.security"><level value="debug" /></logger><!-- Root Logger --><root><priority value="warn" /><appender-ref ref="console" /><!-- <appender-ref ref="file" /> --><appender-ref ref="dailyFile" /></root></log4j:configuration>

三、小结
1、支持属性文件和xml文件两种配置方式,个人更倾向于xml
2、日志的加载在ssh环境中,只需将配置文件放到类路径下即可,一般不需要额外的配置
3、<root>元素只能放置在配置文件的最后
4、可以同时配置多个目的地(appender),但是要配置到<root>元素中才会生效。

读书人网 >Web前端

热点推荐