zoukankan      html  css  js  c++  java
  • Log4j的使用

         Log4j是Apache的一个开放源代码项目,目前最流行的日志管理工具。通过使用Log4j,开发人员可以控制日志信息输送的目的地和每一条日志的输出格式;通过定义每条日志信息的级别,用户可以更加细致的控制日志的生成过程。这些只需要通过一个配置文件即可完成。

         Log4j由三个重要的组件组成:日志信息的优先级、日志信息的输出目的地和日志信息的输出格式。

        使用Log4j,首先需配置Log4j,即指定Log4j的日志输出位置、输出格式、输出优先级等信息,然后在程序中获取Logger,之后系统即可自动根据配置文件中指定的日志输出位置、输出格式、输出优先级来记录日志了。具体步骤如下:

        1 配置Log4j

      Log4j可直接在代码中配置,也可以在XML或properties中进行配置,下面给出properties的配置文件示例。

    log4j.rootLogger=DEBUG,stdout,R

    #Log4j常用的优先级FATAL>ERROR>WARN>INFO>DEBUG

    log4j.logger.org=ERROR,A1

    #A1设置输出地A1到文件(,文件大小到达指定尺寸的时候产生一个新文件)

    log4j.appender.A1=org.apache.log4j.RollingFileAppender

    ###文件位置##

    log4j.appender.A1.File=orglog.log

    ###文件大小

    log4j.appender.A1.MaxFileSize=500KB

    log4j.appender.A1.MaxBackupIndex=50

    log4j.appender.A1.Append=true

    ###设置A1的输出布局格式PatterLayout##

    log4j.appender.A1.layout=org.apache.log4j.PatternLayout

    该配置文件放在WEB-INF\src目录下,则会自动初始化。

    2 配置根Logger

    语法为: log4j.rootLogger=[level],appenderName,appenderName,...

    level为日志记录的级别,level以下的将被屏蔽;appenderName指定输出目的地,可指定多个。

    3 指定日志输出位置

    Log4j定义了多种输出位置的方式:

    ConsoleAppender:输出到控制台

    FileAppender:输出到文件

    DailyRollingFileAppender:扩展Fileappender,每天产生一个日志文件

    RollingFileAppender:扩展Fileappender,备份容量达到一定大小的日志文件

    WriterAppender:将日志以流格式发送到任意指定地方

    JDBCAppender:输出到数据库

    SMTPAppender:发送至邮件

    4.指定日志输出格式

    HTMLLayout:格式化日志输出为HTML表格

    PatternLayout:可灵活的指定布局模式

    SimpleLayout:输出的日志信息包含日志的级别

    TTCCLayout:包含日志产生的时间、线程、类别等信息。

    5 指定日志输出优先级

    FATAL:level0,logger.fatal()

    ERROR:level3,logger.error()

    WARN:level4,logger.warn()

    INFO:level6,logger.info()

    DEBUG:level7,logger.debug()

    6 在代码中使用Log4j

    要使用Log4j,需要用到log4j-1.2.14.jar和Log4j的配置文件。

    根据类名实例化一个静态的全局日志记录器:

    static Logger logger=Logger.getLogger(myClass.getName())

    然后在需要日志的地方,添加相应的代码

    logger.fatal(msg);

  • 相关阅读:
    【转】IOC和工厂模式联合使用简化工厂模式
    2014年12月24日
    【转】使用java程序模拟页面发送http的post请求
    2014年12月5日
    JAVA的double值去掉"E"
    多表联接查询解析
    Struts从后台向前台传递数据
    prepareCall()执行存储过程
    PreparedStatement
    C++ 中的new和delete理解与实操应用
  • 原文地址:https://www.cnblogs.com/xiaxiaoxuan/p/2934621.html
Copyright © 2011-2022 走看看