详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt233

摘要:   

  一、配置步骤
  1、  在应用程序中使用log4j
  2、  把log4j-*.*jar放入CLASSPATH变量中
  3、  新建一个配置文件log4j.properties,放于bin文件下
  二、配置log4j.properties
  新建一个配置文件log4j.properties:
  log4j.rootLogger=WARN, stdout, R
  log4j.appender.stdout=org.apache.log4j.ConsoleAppender
  log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
  # Pattern to output the caller's file name and line number.
  #log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
  # Print the date in ISO 8601 format
  log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
  log4j.appender.R=org.apache.log4j.RollingFileAppender
  log4j.appender.R.File=example.log
  log4j.appender.R.MaxFileSize=100KB
  # Keep one backup file
  log4j.appender.R.MaxBackupIndex=1
  log4j.appender.R.layout=org.apache.log4j.PatternLayout
  log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
  # Print only messages of level WARN or above in the package com.foo.
  log4j.logger.com.foo=WARN
  编译并运行TestLog4j会在目录下生成一个example.log的文件,屏幕也会输出信息,这证明已经你已经成功了第一步。
  下面解释下这些配置文件
  log4j.rootLogger = [ level ], appendName1, appendName2, …appendNameN。同一个记录器可有多个输出端。
  PS:level的级别(此级别可以自定义,系统默认提供了以下级别)
  debug//调试信息
  info//一般信息
  warn//警告信息
  error//错误信息
  fatal//致命错误信息
  上面列出的就是所谓log4j的输出级别,log4j建议只使用4个级别,它们从上到下分别为ERROR、WARN、INFO、DEBUG,假设你定义的级别是info,那么error和warn的日志可以显示而比他低的debug信息就不显示了。
  log4j.appender.appenderName = fully.qualified.name.of.appender.class。log4j提供了以下几种常用的输出目的地:
  org.apache.log4j.ConsoleAppender,将日志信息输出到控制台
  org.apache.log4j.FileAppender,将日志信息输出到一个文件
  org.apache.log4j.DailyRollingFileAppender,将日志信息输出到一个,并且每天输出到一个新的日志文件
  org.apache.log4j.RollingFileAppender,将日志信息输出到一个文件,通过指定文件的的尺寸,当文件大小到达指定尺寸的时候会自动把文件改名,如名为example.log的文件会改名为 example.log.1,同时产生一个新的example.log文件。如果新的文件再次达到指定尺寸,又会自动把文件改名为 example.log.2,同时产生一个example.log文件。依此类推,直到example.log. MaxBackupIndex, MaxBackupIndex的值可在配置文件中定义。
  org.apache.log4j.WriterAppender,将日志信息以流格式发送到任意指定的地方。
  org.apache.log4j.jdbc.JDBCAppender,通过JDBC把日志信息输出到数据库中。
  Log4j提供了一下几种布局:
  org.apache.log4j.HTMLLayout,以HTML表格形式布局
  org.apache.log4j.PatternLayout,可以灵活地指定布局模式
  org.apache.log4j.SimpleLayout,包含日志信息的级别和信息字符串
  定义一个PatternLayout布局的语句为:
  log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
  log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1} - %m%n
  PS:ConversionPattern参数的格式含义
  格式名 含义
  %c 输出日志信息所属的类的全名
  %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28
  %f 输出日志信息所属的类的类名
  %l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
  %m 输出代码中指定的信息,如log(message)中的message
  %n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
  %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推
  %r 输出自应用启动到输出该日志信息所耗费的毫秒数
  %t 输出产生该日志事件的线程名
  三、在代码中使用Log4j
  我们在需要输出日志信息的类中做如下的三个工作:
  1、导入所有需的log4j类:
  import org.apache.log4j.Logger;
  import org.apache.log4j.PropertyConfigurator;
  2、在自己的类中定义一个私有静态类成员:
  static Logger logger = Logger.getLogger(TestLog4j.class)
  3、使用类的成员方法输出日志信息:
  1. if (log.isDebugEnabled())

  2. {

  3. log.debug("111");

  4. }

  5. if (log.isInfoEnabled())

  6. {

  7. log.info("222");

  8. }

  9. if (log.isWarnEnabled())

  10. {

  11. log.warn("333");

  12. }

  13. if (log.isErrorEnabled())

  14. {

  15. log.error("444");

  16. }

  17. if (log.isFatalEnabled())

  18. {

  19. log.fatal("555")

  20. }

log4j与log4j.properties的配置的更多相关文章

  1. log4j日志文件 log4j.xml log4j.properties配置

    1,导入log4j  jar包; 2,配置log4j.xml或log4j.properties文件; ------------------------------------------------- ...

  2. log4j.properties的配置

    #初始化类中要使用的Logger对象实例:log4j.rootLogger = [ level ] , appenderName1, appenderName2, … #第一个参数是日志级别(DEBU ...

  3. log4j的properties详细配置,分级输出日志文件

            log4j是很常用的日志类包,在此做一下配置的记录 加载jar包和properities配置文件             将commons-logging.jar和logging-lo ...

  4. (转)log4j(六)——log4j.properties简单配置样例说明

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 1 老规矩,先来个栗子,然后再聊聊感受 (1)使用配文件的方式,是不是感觉非常的清爽,如果不在程序中读取配置文件就更加的清 ...

  5. log4j(六)——log4j.properties简单配置样例说明

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 二:老规矩,先来个栗子,然后再聊聊感受 (1)使用配文件的方式,是不是感觉非常的清爽,如果不在程序中读取配置文件就更加的清 ...

  6. log4j.properties的配置详解

    log4j.rootLogger=ERROR,A1log4j.appender.A1=org.apache.log4j.ConsoleAppenderlog4j.appender.A1.layout= ...

  7. log4j.properties的配置与详细说明

    1. 新建测试项目testLog,并引入jar包. 2. 在src目录下新建log4j.properties文件,然后开始配置文件. log4j.rootLogger=INFO,stdout,debu ...

  8. Log4j:log4j.properties 配置解析

    Log4j 三个主要组件 Loggers(记录器):记录日志的工具,程序中就是用它来记录我们想要的日志信息. Appenders (输出源):日志输出到什么地方,可以是控制台.文件.流位置.数据库,等 ...

  9. Log4j介绍,log4j.properties配置详解

    http://www.cnblogs.com/simle/archive/2011/09/29/2195341.html本文主要解释log4j的配置文件各个配置项的含义,内容是从网上转载的 1.Log ...

  10. Log4j1的使用与log4j.properties的配置

    这里介绍Log4j1(即Log4j 1.x版本),这里以普通的Java项目为例,用eclipse编写,项目结构如下图所示: 该项目主要包括: java文件:Log4jv1Util 以及 Log4jv1 ...

随机推荐

  1. 读论文系列:Deep transfer learning person re-identification

    读论文系列:Deep transfer learning person re-identification arxiv 2016 by Mengyue Geng, Yaowei Wang, Tao X ...

  2. webpack2 前篇

    webpack2 前篇 #webpack 前两天用了一天半时间琢磨了下webpack2,想起去年这时候,面对webpack1那样恶心的文档,前前后后搞了好几次才摸索清楚,那真是吐了. 划重点 其实we ...

  3. 5. Leetcode 448. Find All Numbers Disappeared in an Array

    Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and ot ...

  4. MyEclipse Web 项目导入 Eclipse 中需要改的文件

    来自为知笔记(Wiz)

  5. vue的一些坑(第一天)

    1:刚开始在创建项目的时候一直出现vue不是内部或外部命令 关于这个的解决方案网上给出的很多的解决方案是配置环境,这个我就不在赘述了: 但是我觉得那样太麻烦,就没用,只是重新 npm i vue-cl ...

  6. 高性能MySQL之【第十五章 备份与恢复】学习记录

      我们不打算包括的话题:      安全(访问备份,恢复数据的权限,文件是否需要加密)      备份存储在哪里,包括他们应该离源数据多远,以及如何将数据从源头移动到目的地      保留策略.审计 ...

  7. 关于MFC实时的视频处理

    最近老师,让我做一下关于视频处理方面的一个项目,在实时处理这里实在是卡住了太长时间,因为不知道如何使用多线程来进行实时检测,终于有点眉目,来写个笔记记录一下. 首先需要介绍一下关于项目的背景,做一个人 ...

  8. 【剑指offer】丑数

    把只包含因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. leetcode上也 ...

  9. Fortran调用C语言小计

    先简单记录下问题,以后再给续解决方案 1,关于fortran中module的使用 2,没有参数可以正常调用,当需要传递参数时,由于两者语言的差异,字符串结束符号不同,应该注意 3,关于调用C函数时,调 ...

  10. 漫谈ELK在大数据运维中的应用

    漫谈ELK在大数据运维中的应用 圈子里关于大数据.云计算相关文章和讨论是越来越多,愈演愈烈.行业内企业也争前恐后,群雄逐鹿.而在大数据时代的运维挑站问题也就日渐突出,任重而道远了.众所周知,大数据平台 ...