Log4j学习笔记
一、log4j的简介
    1、为什么使用日志
开发阶段使用日志:发现程序的问题,排错
产品阶段使用日志:记录运行的状况,发现bug并解决
    2System.out.println的局限性
不能在运行时打开或关闭打印功能
不能指定选择包或类
不能输出分级的信息
只能输出文本信息,不能保存到文件或数据库
不能改变输出的位置,只能打印到屏幕
    3log4j的简介
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,名称可以改变)
    1Logger
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);
    2Appender
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 (保存到数据库)
    3Layout
Layout指定日志信息的格式。
下载apacheLayout设置的语法如下:
            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小时内删除。