Log4j介绍

来源:互联网 发布:linux ssh安装失败 编辑:程序博客网 时间:2024/05/18 08:36
Jakarta Log4j 日志库
使用一个专门的日志记录包,可以减轻对成千上万的System.out.println语句的维护成本

使用log4j涉及3个主要概念:
ü公共类Logger:  Logger 负责处理日志记录的大部分操作。
ü公共接口Appender:Appender 负责控制日志记录操作的输出。
公共抽象类Layout: Layout 负责格式化Appender的输出

log4j日志级别
debug:调试级别
info:信息级别
warn:警告级别
error:错误级别
fatal:崩溃级别
static = Logger.getLogger(Test.class);
Stringpattern =  "Milliseconds since program start: %m%n";
PatternLayout layout = new PatternLayout(pattern);
ConsoleAppenderappender = new ConsoleAppender(layout);
logger.addAppender(appender);
logger.setLevel((Level) Level.DEBUG);
logger.debug("Here is some DEBUG");
logger.info("Here is some INFO");
 logger.warn("Here is some WARN");
//输出信息到文件
FileAppender = new FileAppender(layout,"log/1.txt",true);
Logger logger

u创建日志记录器
static Loggerlogger =   Logger.getLogger(test.class);
logger.setLevel((Level)Level.WARN);//设置日志级别
u创建日志格式(Layout)
PatternLayoutlayout= new PatternLayout(“格式字符串”);
u创建日志附加器Appender
ConsoleAppenderappender = new ConsoleAppender(layout);
u日志对象设置附加器
logger.addAppender(appender);

使用日志文件描述输出信息
u在项目的src目录下加入log4j.properties文件,以描述日志信息

ulog4j.rootLogger=warn, toconsole
u代表日志输出的基本描述。会应用到所有的日志输出。第一个表示输出级别,低于该级别的日志不会输出。第二个为输出appender 描述名
ulog4j.appender.toconsole=org.apache.log4j.ConsoleAppender//appender类的全路径,输出到控制台
ulog4j.appender.toconsole.layout=org.apache.log4j.SimpleLayout//appender输出的信息的格式,为简单格式输出
指定输出格式
ulog4j.appender.toconsole.layout=org.apache.log4j.PatternLayout//设置信息格式化输出
ulog4j.appender.toconsole.layout.ConversionPattern=%d %p [%c] - %m%n//设置格式化内容
%d: 输出日志时间点的日期或时间,默认格式为ISO8601
%p: 输出日志信息级别
%c: 输出日志信息所属的类目,通常就是所在类的全名
%m: 输出代码中指定的消息
%n: 输出一个回车换行符
%M:调用日志的方法名
日志输出的目的地
u1.org.apache.log4j.ConsoleAppender(控制台)
u2.org.apache.log4j.FileAppender(文件)
u3.org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件
    log4j.appender.toFile.DatePattern='-'yyyy-MM-dd'.log')
u4.org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
u5、org.apache.log4j.jdbc.JDBCAppender(数据库)

DailyRollingFileAppender说明

uorg.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件
u在DailyRollingFileAppender中可以指定monthly(每月)、weekly(每周)、daily(每天)、half-daily(每半天)、hourly(每小时)和minutely(每分钟)六个频度,这是通过为 DatePattern选项赋予不同的值来完成的。DatePattern选项的有效值为:
u
u    * ‘.’yyyy-MM,对应monthly(每月)
u    * ‘.’yyyy-ww,对应weekly(每周)
u    * ‘.’yyyy-MM-dd,对应daily(每天)
u    * ‘.’yyyy-MM-dd-a,对应half-daily(每半天)
u    * ‘.’yyyy-MM-dd-HH,对应hourly(每小时)
u    * ‘.’yyyy-MM-dd-HH-mm,对应minutely(每分钟)
输出到文件
ulog4j.appender.toFile=org.apache.log4j.FileAppender
ulog4j.appender.toFile.layout=org.apache.log4j.SimpleLayout
ulog4j.appender.toFile.File=log/aaa.txt


输出到网页
ulog4j.appender.toHTML=org.apache.log4j.DailyRollingFileAppender
ulog4j.appender.toHTML.layout=org.apache.log4j.HTMLLayout
log4j.appender.toHTML.File=log/aaa.html
输出到数据库
ulog4j.logger.com.lovo.dao=debug,productDao
ulog4j.appender.productDao=org.apache.log4j.jdbc.JDBCAppender
ulog4j.appender.productDao.layout=org.apache.log4j.PatternLayout
ulog4j.appender.productDao.layout.ConversionPattern=%d %p [%c] - %m%n
ulog4j.appender.productDao.URL=jdbc:jtds:sqlserver://localhost:1433/bank
ulog4j.appender.productDao.user=sa
ulog4j.appender.productDao.password=sa
ulog4j.appender.productDao.driver=net.sourceforge.jtds.jdbc.Driver
ulog4j.appender.productDao.sql=insert into log(content) values('%m')

为不同的包和不同的类设置级别
ulog4j.logger.com.lovo=error
设置com.lovo包中的类级别为error(不包括子包)。输出的appender由rootLogger指明。
ulog4j.logger.test=debug,toFile
  设置test包中的类级别为debug(不包括子包)。输出的appender由toFile指明。
ulog4j.logger.com.lovo.HTMLTest=debug,toHTML
          设置com.lovo.HTMLTest类级别为debug。输出的appender由toHTML指明。
0 0
原创粉丝点击