zoukankan      html  css  js  c++  java
  • Log4j自学笔记

    log4j十一个开源的日志记录组件,在工程中用于代替System.out语句。
    它允许开发人员以任意的精细程度控制哪些日志说明被输出,通过使用外部的配置文件,可以在运行的时候配置它。
    Log4jPO有三个主要的组件:Loggers(记录器)、Appenders(输出源)、Layout(布局),可以简单的理解为日志类别,日志要输的地方、输出的格式。
    
    Loggers组件在此系统中被分为五个级别:DEBUG<INFO<WARN<ERROR<FATAL。这五个级别是有顺序的。
    DEBUG Log4j有一个规则:假设Loggers级别为P,如果在Loggers中发生了一个级别Q比P高,则可以启动,否则屏蔽掉。
    
    有时用户希望根据自己的喜好格式化自己的日志输出。Log4j可以在Appenders的后面附加Layouts来完成这个功能。
    Layouts提供了 四种日志输出样式,如根据HTML样式、自由指定样式、包含日志级别与信息的样式和包含日志时间、线程、类别等信息的样式等等。
    
    
    import org.apache.log4j.BasicConfigurator;    //需将jar文件引入到classpath之中
    import org.apache.log4j.Level;
    import org.apache.log4j.Logger;
    public class Log4jTest {
        public static void main(String args[]){
            Logger logger = Logger.getLogger(Log4jTest.class);
            BasicConfigurator.configure();
            logger.setLevel(Level.WARN);    //配置根Logger,设置等级,只有等级以上的才可以输出,通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。
            logger.info("This is an info.");
            logger.warn("This is an wanrning.");
            logger.error("This is an error.");
            logger.fatal("This is an fatal error.");
            return;
        }
    }
    
    Log4j的配置  
    
    1、建立Logger实例:
        Logger logger = Logger.getLogger(ServerWithLog4j.class.getName ()) ; 
    2、读取配置文件:
    获得了Logger的实例之后,接下来将配置Log4j使用环境:
      BasicConfigurator.configure();    //自动快速地使用缺省Log4j环境。
      PropertyConfigurator.configure(String configFilename);    //读取使用Java的特性文件编写的配置文件。
      DOMConfigurator.configure(String filename);    //读取XML形式的配置文件。
    实际使用:
        PropertyConfigurator.configure("ServerWithLog4j.properties");
    3、插入日志信息
      完成了以上连个步骤以后,下面就可以按日志的不同级别插入到你要记录日志的任何地方了。
      Logger.debug(Object message);    //调试信息
      Logger.info(Object message);    //一般信息
      Logger.warn(Object message);    //警告信息
      Logger.error(Object message);    //错误信息
      Logger.fatal(Object message);    //致命错误信息
    
    配置日志信息输出目的地,其语法为:
        log4j.appender.appenderName = fully.qualified.name.of.appender.class //
        "fully.qualified.name.of.appender.class" 可以指定下面五个目的地中的一个:
    1.org.apache.log4j.ConsoleAppender(控制台)
    2.org.apache.log4j.FileAppender(文件)
    3.org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
    4.org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
    5.org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
    
    配置日志信息的格式,其语法为:
        A. log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
        "fully.qualified.name.of.layout.class" 可以指定下面4个格式中的一个:
    1.org.apache.log4j.HTMLLayout(以HTML表格形式布局),
    2.org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
    3.org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
    4.org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
    
    理解下面的三者的关系:
    Log4j
    Apache commons logging
    java log dpi
  • 相关阅读:
    MVC3 验证码
    说说.NET反编译工具
    HTTP协议学习
    Spring Web Flow 的优缺点
    Java CLASSPATH 引发的问题
    MySQL 高级
    Java Policy
    AJAX
    数据结构与算法学习资源
    C#学习资源
  • 原文地址:https://www.cnblogs.com/mosquito-woo/p/3835965.html
Copyright © 2011-2022 走看看