日志:除了能记录异常信息,还可以记录程序正常运行时的关键信息。

使用log4j来进行日志文件记录经典步骤:

001.在项目中创建一个lib文件夹,然后将下载好的jar包copy到该文件夹下

002.对已经copy过来的jar包,点击右键,然后执行下图操作,

项目中就会多出一个引入外部Library的项目

003.在src目录下创建一个名称为log4j.properties文件

004.编写,粘贴已经写好的配置文件内容,编码方式可以做下修正。对配置文件点击右键→属性→other→utf-8,然后应用确定即可。如果再次报错,不理会他,点击确定,再次Ctrl+S即可。

005.就是在main方法所在类中,添加如下代码

//首先是创建一个静态的Logger对象

public static Logger logger=Logger.getLogger("log4j");

接下来就可以通过logger.debug(“日志内容”);

注意事项:通过反编译源码我们知道,getLogger方法,有两个重载。

我们当前使用的是传入字符串的重载,经过多方资料验证,括号中传入任何内容对抽象工厂产生出一个Logger实例时没有任何影响的。所以可以放心使用。

  其中 [level] 是日志输出级别,共有5级:

  FATAL       0  
  ERROR      3  
  WARN       4  
  INFO         6  
  DEBUG      7 
 

  输出级别优先级:

 all<Trace<debug<info<warn<error<fatal<off

  Appender 为日志输出目的地,Log4j提供的appender有以下几种:

  org.apache.log4j.ConsoleAppender(控制台),
  org.apache.log4j.FileAppender(文件),
  org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
  org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
  org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

  Layout:日志输出格式,Log4j提供的layout有以下几种:

  org.apache.log4j.HTMLLayout(以HTML表格形式布局),
  org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
  org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
  org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
  
 
 
 

  配置文件:

  log4j.rootLogger = debug,A,B,C,

  # 输出到控制台

  log4j.appender.A = org.apache.log4j.ConsoleAppender

  log4j.appender.A.Target = System.out

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

  log4j.appender.A.layout.ConversionPattern = %p %t %c - %m%n

  

  # 输出到日志文件

  log4j.appender.B = org.apache.log4j.DailyRollingFileAppender

  log4j.appender.B.File = logs/log.log

  log4j.appender.B.Append = true

  log4j.appender.B.Threshold = DEBUG # 输出EBUG级别以上的日志

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

  log4j.appender.B.layout.ConversionPattern = %p %t %c - %m%n

  # 保存异常信息到单独文件

  log4j.appender.C = org.apache.log4j.DailyRollingFileAppender

  log4j.appender.C.File = logs/error.log # 异常日志文件名

  log4j.appender.C.Append = true

  log4j.appender.C.Threshold = ERROR #只输出ERROR级别以上的日志

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

  log4j.appender.C.layout.ConversionPattern = %p %t %c - %m%n

问题:

如何使用log4j记录日志?

解析:引入jar包

创建properties文件

编写log4j配置代码

log4j记录日志

java中开源日志记录工具log4j的更多相关文章

  1. 开源日志记录工具log4j

    前言:当我们进行大的项目书写的时候或者我们选择维护程序的时候,想知道几点几时我们录入的数据有bug是那么我们就采用--------------------------->log4j记录日志的信息 ...

  2. 【学习笔记】开源日志记录工具log4j使用方法

    http://blog.csdn.net/zouqingfang/article/details/37558469 一.在MyEclipse中使用log4j的步骤比较简单,主要分为以下四个步骤: 1. ...

  3. slf4j+log4j在Java中实现日志记录

    小Alan今天来跟大家聊聊开发中既简单又常用但必不可少的一样东西,那是什么呢?那就是日志记录,日志输出,日志保存. 后面就统一用日志记录四个字来形容啦. 日志记录是项目的开发中必不可少的一个环节,特别 ...

  4. log4net--不可多得的开源日志记录组件

    log4net--不可多得的开源日志记录组件 1 前奏 一直在用log4net日志工具,却没时间写个日志给大家分享一下这个工具,趁最近比较空些,好好分享一下这个工具. 2 说明 Log4net介绍就不 ...

  5. Java学习-007-Log4J 日志记录配置文件详解及实例源代码

    此文主要讲述在初学 Java 时,常用的 Log4J 日志记录配置文件详解及实例源代码整理.希望能对初学 Java 编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激!源代码测试通过日期为:20 ...

  6. java中的日志打印

    java中的日志打印: 日志工具类: #获取日志 INFO:表示获取日志的等级 A1:表示日志存器,可以自定义名称 #===DEBUG INFO log4j.rootLogger=DEBUG,A1,A ...

  7. Go/Python/Erlang编程语言对比分析及示例 基于RabbitMQ.Client组件实现RabbitMQ可复用的 ConnectionPool(连接池) 封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil 分享基于MemoryCache(内存缓存)的缓存工具类,C# B/S 、C/S项目均可以使用!

    Go/Python/Erlang编程语言对比分析及示例   本文主要是介绍Go,从语言对比分析的角度切入.之所以选择与Python.Erlang对比,是因为做为高级语言,它们语言特性上有较大的相似性, ...

  8. 封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil

    封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil,代码比较简单,主要是把MongoTarget的配置.FileTarget的配置集成到类中,同时利用缓存依赖来判断是否需要重新创 ...

  9. 封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil,nloglogutil

    封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil,代码比较简单,主要是把MongoTarget的配置.FileTarget的配置集成到类中,同时利用缓存依赖来判断是否需要重新创 ...

随机推荐

  1. 两个list 合并成新一个list

  2. HTML5 十大新特性(六)——地理定位

    简单地用一句话概括就是,使用js获取浏览器当前所在的地理坐标,实现LBS(Location Based Service,基于定位的服务). 下面写一下它的基本调用: if(navigator.geol ...

  3. MyBatis总结(一)

    一.创建测试项目工程 二.导包(一个myBatis所需的包,以及一个数据库操作的包) 三.创建实体类 四.配置文件的建立(最佳命名为(SqlMapConfig.xml)) <?xml versi ...

  4. ShellExecute调用另外一个进程(demo为一个控制led的一段代码)

     public enum ShowCommands : int         {             SW_HIDE = 0,             SW_SHOWNORMAL = 1,    ...

  5. $(window).height()获取到的高度不对

    关于这个问题,网上有人说这是webkit内核的浏览器导致的,且只有这种浏览器会出现,只需要将html5的声明整成标准的带有<!doctype>的声明的就行了,但是本人亲测仍然是不行的,所用 ...

  6. ThinkPHP 3.2.3(三)架构之URL模式

    一.标准URL格式 http://serverName/index.php/模块/控制器/操作   二.URL大小写 在/ThinkPHP/Conf/convention.php文件里有URL大小写的 ...

  7. spring+mybatis+springmvc的配置

    1.web.xml的配置 <?xml version="1.0" encoding="UTF-8"?><web-app version=&qu ...

  8. linux php 安装 memcache 扩展

    1. memcached依赖于libevent,需要先安装libevent. tar zxvf libevent-2.0.21-stable.tar.gz cd libevent-2.0.21-sta ...

  9. jquery中链式调用原理

    (1).链式调用 $("#mybtn").css("width","100px") .css("height",&quo ...

  10. makefile 学习网站

    http://blog.csdn.net/ruglcc/article/details/7814546/#t30