Log4j学习

今天学习了Log4j 简单的java工程,src下有两个文件:

HelloLog4j.java和HelloLog4j.properties HelloLog4j.java文件

import org.apache.log4j.Level;

import org.apache.log4j.Logger;

import org.apache.log4j.PropertyConfigurator;

public class HelloLog4j {    

static Logger log = Logger.getLogger(HelloLog4j.class.getName());    

public static void main(String[] args) {

        HelloLog4j hl = new HelloLog4j();

        String path = hl.test();

       //         PropertyConfigurator.configure(path+"HelloLog4j.properties" ) ;

//        log.setLevel(Level.DEBUG);

//做个循环,设置日志文件大小及备份的时候使用

        for(int i=0;i<3;i++){

            log.info("hello log4j ");

        }

    }

        public String test(){

        String resource = this.getClass().getResource(".").getPath();

        return resource;

    }

}

HelloLog4j.properties文件

##设置级别INFO

##A1和 R设置输出目的地

log4j.rootLogger=INFO, A1 , R

##设置A1输出到控制台

log4j.appender.A1=org.apache.log4j.ConsoleAppender

##设置输出格式,%3x是一段空白,设置间隔的,也可以是5x 10x等等 log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %5c %3x - %m%n

##设置日志为按照一定时间产生日志文件,输出到控制台同时输出到文件 log4j.appender.R=org.apache.log4j.DailyRollingFileAppender

##设置产生日志的名称 log4j.appender.R.File=example.log

##设置为每天产生日志

##如果设置为每月产生日志则为:'.'yyyy-MM log4j.appender.R.DatePattern='.'yyyy-MM-dd

##日志的格式

log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd  HH:mm:ss}  [%c]-[%p]  %m%n

##文件结束 ======================================================

也可以这样设置

##输出到控制台同时输出到文件,文件自动生成在工程根目录下

log4j.appender.R=org.apache.log4j.RollingFileAppender

##文件名称

log4j.appender.R.File=example.log

##文件大小

log4j.appender.R.MaxFileSize=1KB

##最多有多少备份文件,如文件写满会将以前的日志覆盖

log4j.appender.R.MaxBackupIndex=10

以下是copy过来地: 设置参数具体如下(记不住啊,用就查):

  1. 配置根Logger,其语法为:

    log4j.rootLogger = [ level ] , appenderName, appenderName, …

    其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优 先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定 义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。 appenderName就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。
  2. 配置日志信息输出目的地Appender,其语法为 log4j.appender.appenderName1 = value1
    …
    log4j.appender.appenderNamen = valueN
    其中,Log4j提供的appender有以下几种: org.apache.log4j.ConsoleAppender(控制台), org.apache.log4j.FileAppender(文件), org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件), org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
  3. 配置日志信息的格式(布局),其语法为:
    log4j.appender.appenderName1.layout = value1
    …
    log4j.appender.appenderNamen.layout = valueN
    其中,Log4j提供的layout有以下几种: org.apache.log4j.HTMLLayout(以HTML表格形式布局), org.apache.log4j.PatternLayout(可以灵活地指定布局模式), org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串), org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

应用在程序中: 1、

使用Log4j,第一步就是获取日志记录器,这个记录器将负责控制日志信息。其语法为:

public static Logger getLogger( String name),

通过指定的名字获得记录器,如果必要的话,则为这个名字创建一个新的记录器。Name一般取本类的名字,比如:

static Logger logger = Logger.getLogger ( ServerWithLog4j.class.getName () ) ;

2、

当获得了日志记录器之后,第二步将配置Log4j环境,其语法为: BasicConfigurator.configure (): 自动快速地使用缺省Log4j环境。 PropertyConfigurator.configure ( String configFilename) :读取使用Java的特性文件编写的配置文件。 DOMConfigurator.configure ( String filename ) :读取XML形式的配置文件。

3、

当上两个必要步骤执行完毕,您就可以轻松地使用不同优先级别的日志记录语句插入到您想记录日志的任何地方,其语法如下:

Logger.debug ( Object message ) ; Logger.info ( Object message ) ; Logger.warn ( Object message ) ; Logger.error ( Object message ) ;

 

下面是webwork2+spring2+ibatis的log4j配置,log4j.properties文件放在src目录下即可。

 

 

     <!--   =========== log4j ================   -->     
< context - param >         
          < param - name > webAppRootKey </ param - name >         
          < param - value > C: </ param - value >     
</ context - param >     
< context - param >         
          < param - name > log4jExposeWebAppRoot </ param - name >
       < param - value > false </ param - value >
</ context - param >
< context - param >
         < param - name > log4jConfigLocation </ param - name >
         < param - value > WEB - INF / classes / log4j.properties </ param - value >
</ context - param >
< listener >
         < listener - class > org.springframework.web.util.Log4jConfigListener </ listener - class >
</ listener >

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值