java中Log4j的使用

JAVALog4日志学习笔记

log4j.rootLogger=debug,c (设置日志级别,c是变量,可以有很多)

 

log4j.appender.c = org.apache.log4j.ConsoleAppender(把日志打印到控制台)

log4j.appender.c.Target = System.out(控制台)

log4j.appender.c.layout = org.apache.log4j.PatternLayout(布局方式一般就都是这种自由方式布局)

log4j.appender.c.layout.ConversionPattern = [%-5p]%d{yyyy-MM-ddHH:mm:ss,SSS}method:%l%n%m%n(日志打印的内容)

Log4j日志级别

每个logger都有一个日志级别(log level),用来控制日志信息的输出,日志级别从高到低分为

1. off最高等级,用于关闭所有日志记录

2. fatal指出每个严重的错误事件将会导致应用程序的退出

3. error指出虽然发生错误事件,但任然不影响系统的继续运行

4. warn表明会出现潜在的错误情形

5. info一般和在粗粒度级别上,强调应用程序的运行全程

6. debug一般用于细粒度级别上,对调试应用程序非常有帮助

7. all最低等级,用于打开所有日志记录

 

log4j提供的追加器(appender)有以下几种

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(将日志信息以流格式发送到任意指定的地方)

 

log4j几种布局方式

1. org.apache.log4j.HTMLLayout(以HTML表格形式布局)

2. org.apache.log4j.PatternLayout(可以灵活低指定布局格式)

3. org.apache.log4j.SimpleLayout(包含日志信息级别和信息字符串)

4.org.apache.log4j.TTCCLayout(包含日志产生的时间,线程,类别等等信息)

 

将日志打印到E:/log/error.log盘符下面,代码如下

log4j.appender.f = org.apache.log4j.DailyRollingFileAppender

log4j.appender.f.File = E:/log/error.log

log4j.appender.f.Append = true(是否追加信息)

log4j.appender.f.Threshold = debug(错误信息的级别)

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

log4j.appender.f.layout.ConversionPattern =[%-5p]%d{yyyy-MM-ddHH:mm:ss,SSS}method:%l%n%m%n

Log4j采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下

1.%m输出代码中指定的信息

2.%p输出优先级,及debug,info,warn,erroe,fatal

3.%r输出自应用启动到输出该log信息耗费的毫秒数

4.%c输出所属的类目,通常就是所在类的全名

6.%t输出产生该日志事件的线程名

7.%n输出一个回车换行符,Windows平台为“m”,Unix平台为“n”

8.%d输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如%d{yyyy-MM-ddHH:mm:ss,SSS}

9.%l输出日志事件的发生位置,包括类全名,发生的线程,以及在代码中的行数,

 

Log4j测试日志类代码

package log4jtest;

 

import org.apache.log4j.Logger;

 

publicclass Log4j_tx {

  //指定要打印日志的类

  static Logger logger=Logger.getLogger(Log4j_tx.class);

 

  publicstaticvoid main(String[] args){

     logger.debug("我是第一个debug日志");

     logger.info("我是第一个info日志");

     logger.error("我是第一个error日志");

     logger.warn("我是第一个warn日志");

    

  }

}

Log4j怎么加到项目中

例如

封装的工具类

package log4jUtil;

 

import java.io.PrintWriter;

import java.io.StringWriter;

/**

 * 对于log4j的日志信息进行封装

 *

 * @author Administrator

 *

 */

publicclass LogUtil {

  publicstatic String printloginfo(Exception e){

     StringWriter sw=new StringWriter();

     e.printStackTrace(new PrintWriter(sw,true));

     String str=sw.toString();

     return str;

  }

}

 

Try-catch代码块

try {

       //正常代码块

     } catch (Exception e) {

       logger.debug("在干什么事情的时间报了什么错误"+LogUtil.printloginfo(e));

     }

 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值