`
Action-人生
  • 浏览: 98863 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Log4j的日志的使用

    博客分类:
  • JAVA
阅读更多
http://blog.csdn.net/wuhailin2005/article/details/3734456
Log4j的日志的使用
1. 为什么要使用Java日志
    在程序的开发过程中我们需要调试程序,这时我们通过建立日志文件来记录程序的异常信息,当然有人说我们可以在IDE环境中通过控制台来查看堆栈信息也是可以调试程序,甚至通过单步调试来进行。没错,可是如果我们能够对异常信息进行保存那不是更好吗?所以Java日志的第一个作用就是在开发阶段记录程序的调试信息。
    另外更为重要的是在产品交付使用后,我们可以用日志文件来记录程序的运行期间所发生的问题,帮助我们跟踪程序的运行状态,用户的使用信息,以改进程序,以方便维护人员查找问题,这是日志的第二个作用

2. Log4j的下载安装
    Log4j是Java最流行的日志处理框架,包括许多著名的开源项目都是通过Log4j来记录和管理日志信息的,例如Hibernate。那么到哪里去下载Log4j呢,我们可以在apache的网站上down一个Log4j,地址是:http://logging.apache.org/log4j/去下载,下载解压后将log4j-1.2.15.jar文件拷贝到你的程序的classpath中去,这样就可以使用log4j的日志功能了。

3. Log4j的使用
package com.log;

import java.util.Date;
import org.apache.log4j.Logger;

/**
* 演示log4j的使用
* @author wuhailin
*/
public class MainClass {

    // 调用Logger的getLogger方法获得一个Logger的实例,在这个方法中通常传入当前要记录的类
    private static Logger log = Logger.getLogger(MainClass.class);

    /**
     * @param args
     */
    public static void main(String[] args) {
        log.info("程序开始运行"+ new Date().toString());
        int result = 0;
        try {
            result = 4 / 0;
        } catch (Exception ex) {
            log.error("在获得两个数相除的结果时产生异常.", ex);
        }
        log.info("程序运行结束"+ new Date().toString());
    }
}

4. log4j日志的简单配置及使用Log4j.properties

#######################################################################
#将JDBC日志记录到JDBC记录器中 modify by wuhailin
log4j.logger.JDBC=debug,JDBC
log4j.appender.JDBC=org.apache.log4j.RollingFileAppender
log4j.appender.JDBC.File=../log/jdbc.log
log4j.appender.JDBC.layout=org.apache.log4j.PatternLayout
log4j.appender.JDBC.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.appender.JDBC.MaxFileSize=2048KB
在使用JDBC的地方可以先加入这段代码
static org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger("JDBC");
需要记录日志的地方加入
log.debug("日志内容");//例如,log.debug("[insert statement in TapeTTSDAOImpl.addTapeTTSFile]"+sql);
5. log4j的详细配置
   在上面的代码中如果运行就会在控制台上输出下列信息:
log4j:WARN No appenders could be found for logger (liky.log.MainClass).
log4j:WARN Please initialize the log4j system properly.
这是因为你还没有配置log4j的配置文件,log4j的日志文件有两种格式,一种是java的属性文件.properties文件,另一种是.xml文件,这里我们以属性文件为例说明如何配置。
    首先在你当前的源代码src根目录下新建一个log4j.properties文件,然后在文件中输入下列内容:

# log4j.rootLogger=level,appenderName1,...,appenderNameN
# 表示日志记录所有包中的所有的类的日志,可以在同时声明多个日志,每个日志都可以单独配置
# all:表示日志的级别,可用的选项有:all、trace、debug、info、warn、error、fatal、off
# all表示输出所有信息,off表示任何信息都不记录,越往后级别越高,记录的信息越少
log4j.rootLogger=all,root

# log4j.logger.package: 如果只是记录一部分包的类的日志则使用log4j.logger.package
# 例如:log4j.logger.liky.log.test就表示只记录liky.log包中的类的日志
log4j.logger.liky.log.test=info,test

# log4j.appender.appenderName=org.appender.log4j.Appender
# 表示日志的输出到哪里,Appender表示org.appender.log4j这个包中实现了Appender接口的类
# 实现了Appender接口的类有很多,最常用的有:
# org.apache.log4j.ConsoleAppender:输出到控制台
# org.apache.log4j.FileAppender:输出到日志文件,使用一个日志文件,没有大小限制
# org.apache.log4j.DailyRollingFileAppender:输出到日志文件,每天产生一个日志文件
# org.apache.log4j.RollingFileAppender:输出到日志文件,如果超过了限定大小,则重新产生一个新的
# org.apache.log4j.WriterAppender:将日志文件以字符串流的格式发送到客户指定的任何地方
# org.apache.log4j.jdbc.JDBCAppender:将日志文件输出到数据库中
log4j.appender.root=org.apache.log4j.FileAppender

log4j.appender.test=org.apache.log4j.DailyRollingFileAppender

# log4j.appender.appernderName.File=filePath/fileName
# 如果指定日志输出到文件中,那么需要制定日志文件的路径和文件名,这里和文件的样式相关联
log4j.appender.root.File=log.html
log4j.appender.test.File=test.html

# log4j.appender.appenderName.layout=org.apache.log4j.formatLayout
# 这里制定文件的格式,可选的有:
# org.apache.log4j.HTMLLayout:输出为html格式
# org.apache.log4j.SimpleLayout:由日志的级别和日志的提示信息组成,中间用"-"连接
# org.apache.log4j.TTCCLayout:由时间、线程名、分类、上下文的提示信息组成
# org.apache.log4j.PatternLayout:这是最灵活的日志文件格式,可以配置,相关的配置请参考log4j的文档
log4j.appender.root.layout=org.apache.log4j.HTMLLayout
log4j.appender.test.layout=org.apache.log4j.SimpleLayout
分享到:
评论

相关推荐

    Log4j日志配置说明,Log4j日志配置说明

    Log4j日志配置说明,Log4j日志配置说明Log4j日志配置说明,Log4j日志配置说明

    tomcat6.0 配log4j日志的必须文件及配置过程

    tomcat6.0 配log4j日志的必须文件及配置过程 tomcat6-------lib | |--------tomcat-juli-adapters.jar | |--------log4j.jar | |--------log4j.properites | |----bin |--------tomcat-juli.jar 最后把log4...

    log4j日志使用

    项目中log4j的使用

    log4j日志管理

    log4j日志管理log4j日志管理log4j日志管理log4j日志管理log4j日志管理

    logstash 采集log4j日志配置文件

    logstash采集log4j日志发送到es配置文件,可以把日志根据日志级别区分开,一个级别一条日志是es中的一条数据

    使用log4j2实现日志数据脱敏

    使用log4j2实现日志数据脱敏

    log4j使用与java中log4j记录日志如何写入数据库

    详细介绍了log4j的使用方法,介绍了java中日志记录如何写入数据库,对于初学者来说很不错的一个文档

    Log4j日志包

    log4j.rootLogger=debug,CONSOLE,testfile,A1,MAIL ################### # Console Appender ################### log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Target=...

    tomcat下的log4j日志配置

    tomcat下的log4j日志配置,给tomcat配置log4j有好几种方法,我知道的有: 一、tomcat级别的统一日志管理 二、每个webapp分别配置log4j

    log4j日志使用说明

    Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式...

    Log4j日志管理系统简单使用说明

     禁用与使用日志请求只是Log4j其中的一个小小的地方,Log4j日志系统允许把日志输出到不同的地方,如控制台(Console)、文件(Files)、根据天数或者文件大小产生新的文件、以流的形式发送到其它地方等等。...

    log4j日志驱动包

    Log4j比较全面的配置 log4j.rootLogger=DEBUG,CONSOLE,A1,im log4j.addivity.org.apache=true # 应用于控制台 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.Threshold=DEBUG log4j....

    log4j按功能保存日志

    log4j按功能保存日志

    log4j.CustomLogAppender 限制log4j文件保存天数

    每天生成一个log4j日志文件,如果只需要将最近一段时间内的日志文件保留,以前或更早的文件不用保留。例如只保留最近一周的日志,日志文件保留3天等等这些。。。通过这个jar包就可以实现。 log4j.properties文件在...

    kettle使用log4j管理输出日志

    参照了几个网上大神配置,部分教程的描述有误,最终调试完成,可以实现kettle日志输出,测试版本...需要替换的文件为,Kettle的程序目录下data-integration-6.0\plugins\kettle5-log4j-plugin中有一个log4j.xml文件。

    log4j日志框架

    log4j日志框架 log4j日志框架 log4j日志框架log4j日志框架

    log4j日志包日志包

    log4j驱动包,里面包含log4j.properties日志文件xml

    log4j日志配置以及配置文件详解

    log4j配置文件以及配置文件说明 包里有一个log4j配置文件 和一个配置详解

    log4j中配置日志文件相对路径方法分析

    log4j中配置日志文件相对路径方法分析 方法一、 解决的办法自然是用相对路径代替绝对路径,其实log4j的FileAppender本身就有这样的机制,如:log4j.appender.logfile.File=${WORKDIR}/logs/app.log 其中“${...

    log4J日志.zip

    log4j日志jar包及配置文件

Global site tag (gtag.js) - Google Analytics