Log4j学习笔记
一、log4j的简介
1、为什么使用日志
◆ 开发阶段使用日志:发现程序的问题,排错
◆ 产品阶段使用日志:记录运行的状况,发现bug并解决
2、System.out.println的局限性
◆ 不能在运行时打开或关闭打印功能
◆ 不能指定选择包或类
◆ 不能输出分级的信息
◆ 只能输出文本信息,不能保存到文件或数据库
◆ 不能改变输出的位置,只能打印到屏幕
3、log4j的简介
◆ log4j是当前最流行的java日志处理框架
◆ Apache的子项目
◆ 开源软件
二、log4j的下载和安装
/log4j
◆ log4j有3个版本:1.2 最常用的版本;1.3 已终止的版本;2.0 实验型的版本
◆ 因此,我们下载log4j 1.2 ,点击以上”log4j”菜单,在弹出页面的左上角点击”download”,下载对应的log4j压缩包(例如:apache-log4j-1.2.16.zip),然后解压(最好将所有相关类库统一存放在一个目录下,例如:d:\javalib)
◆ 将解压后的log4j-1.2.16.jar文件添加到当前项目的classpath中。
三、log4j的基本使用
import org.apache.log4j.*;
public class HelloLog4j{
private static Logger Logger(HelloLog4j.class);
public static void main(String [] args){
logger.debug(“this is the main method”);
logger.info(“welcome to first log4j”);
(“This is an error message”)
}
}
运行这个例子,需要log4j.properties,log4j.properties的配置如下:
Logger=debug,appender1 //设定log4j的级别和appender
log4j.appender.appender1=org.apache.log4j.ConsoleAppender//appender的类型(终端)
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout //样式(普通TTCC)
Logger=info.appender2 //级别为info
log4j.appender.appender2=org.apache.log4j.FileAppender //appender保存到文件
log4j.appender.appender2.File=c:/log4j.log 或 c:/log4j.htm //文件名(可以是html)
log4j.appender.appender2.layout=org.apache.log4j.TTCCLayout或HTMLLayout 可以使用HTML样式
四、log4j的核心
log4j的核心由以下4个部件组成:
⏹ Logger:完成日志信息的处理
⏹ Appender:设置日志信息的去向
⏹ Layout:设置日志信息的输出样式
⏹ 配置文件:配置以上信息(log4j.properties或l,名称可以改变)
1、Logger
◆ Logger可以定义输出的层次和决定信息的输出级别(怎样的信息可以输出)
◆ Logger输出的信息主要有以下8种:
All,TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF
我们主要使用:DEBUG,INFO,WARN,ERROR4种
◆ Logger输出信息的级别:
All<TRACE<DEBUG<INFO<WARN<ERROR<FATAL<OFF
◆ 如果我们指定了输出的级别,则只能输出大于等于指定级别的信息,例如:我们指定输出级别为:INFO,则只能输出INFO ,WARN,ERROR,FATAL,OFF级别的信息
◆ 在程序中,我们可以使用Logger定义的方法进行对应级别信息的输出:
logger.debug(“x=”+x);
logger.info(“System started at ”+new Date());
logger.warn(“server down - returning”);
(“can not access server”,e);
2、Appender
◆ Appender可以定义为日志添加器,可以指定将日志信息输出到哪里。
◆ Appender的定义方式:
Logger=debug,appender名称
log4j.appender.appender名称=appender的实现类
log4j.appender.appender名称.属性=属性值
例如:
Logger=info,appender2 //一个appender
log4j.appender.appender2=org.apache.log4j.FileAppender //appender保存到文件
log4j.appender.appender2.File= c:/log4j.htm //文件名(可以是html)
log4j.appender.appender2.layout=org.apache.log4j. HTMLLayout //使用HTML样式
◆ 可以指定多个appender,例如:
Logger=info,appender1,appender2 //二个appender
log4j.appender.appender1=org.apache.log4j.ConsoleAppender //输出到终端
log4j.appender.appender2=org.apache.log4j.FileAppender //保存到文件
log4j.appender.appender2.File= c:/log4j.htm //文件名(可以是html)
log4j.appender.appender1.layout=org.apache.log4j. TTCCLayout 使用文本样式
log4j.appender.appender2.layout=org.apache.log4j. HTMLLayout 使用HTML样式
◆ Appender实际上是接口,它的实现类有很多,常用的有:
org.apache.log4j.ConsoleAppender (控制台)
org.apache.log4j.FileAppender (文件)
org.apache.log4j.DailyRollingFileAppender (每天产生一个日志文件)
org.apache.log4j.RollingFileAppender (文件大小达到指定尺寸时,产生新文件)
org.apache.log4j.WriterAppender (将日志信息以串流格式发送到任意指定地方)
org.apache.log4j.JdbcAppender (保存到数据库)
3、Layout
◆ Layout指定日志信息的格式。
下载apache◆ Layout设置的语法如下:
log4j.appender.appenderName.layout=layout类名
log4j.appender.appenderName.layout.属性=属性值
◆ log4j提供以下几种layout:
org.apache.log4j.HTMLLayout (HTML格式)
org.apache.log4j.TTCCLayout (包含日志的时间,线程,级别,类名,日志信息等)
org.apache.log4j.SimpleLayout (只有简单信息,包含:级别,信息)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论