Log4j介绍

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);
String pattern =  "Milliseconds since program start: %m%n";
PatternLayout layout = new PatternLayout( pattern );
ConsoleAppender appender = new ConsoleAppender( layout );
logger.addAppender( appender );
logger. setLeve l((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 Logger logger =   Logger.getLogger(test.class);
logger .setLevel((Level)Level.WARN);// 设置日志级别
u 创建日志格式 (Layout)
PatternLayout layout = new PatternLayout(“格式字符串”);
u 创建日志附加器 Appender
ConsoleAppender appender = new ConsoleAppender( layout );
u 日志对象设置附加器
logger .addAppender( appender );

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

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

DailyRollingFileAppender说明

u org.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(每分钟)
输出到文件
u log4j.appender.toFile=org.apache.log4j.FileAppender
u log4j.appender.toFile.layout=org.apache.log4j.SimpleLayout
u log4j.appender.toFile.File=log/aaa.txt


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

为不同的包和不同的类设置级别
u log4j.logger.com.lovo=error
设置com.lovo包中的类级别为error( 不包括子包 )。输出的appender由rootLogger指明。
u log4j.logger.test=debug,toFile
  设置test包中的类级别为debug( 不包括子包 )。输出的appender由toFile指明。
u log4j.logger.com.lovo.HTMLTest=debug,toHTML
          设置com.lovo.HTMLTest类级别为debug。输出的appender由toHTML指明。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值