Java 日志文件生成和log4j.properties的配置

日志这个功能在线上的Web项目中是必要的,平常我在开发的时候可以在我们的控制台看到异常和输出的信息,但在线上的项目抛异常的时候我们不可能像我们平常开发那样打开控制器看是问题了,因为当项目发布到 tomcat 后,没有控制台(在命令行界面能看见.), 不容易观察一些输出结果,日志就解决了这个问题,它可以把异常输出到文件中,便于观察结果,让开发人员及时了解情况,解决问题;

         下面就了解一下如何在项目中实现日志功能:

步骤:

  1. 导入 log4j-xxx.jar;
  2. 在 src 下新建 log4j.properties(路径和名称都不允许改变);
  3. 调用;
  4. log4j.rootLogger=debug,appender1,appender2

     

    log4j.appender.appender1=org.apache.log4j.ConsoleAppender

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

    log4j.appender.appender1.layout.ConversionPattern=%m class\:%C %L\u884C%n

     

    log4j.appender.appender2=org.apache.log4j.FileAppender

    log4j.appender.appender2.File=d:/logger.log

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

    log4j.appender.appender2.layout.ConversionPattern=

    %C%d{yyyy-MM-dd HH:mm:ss.SSS} %m %L\u884C%n%n

log4j.rootLogger= debug,appender1,appender2

第一行:debug是输出级别,它的输出级别

fatal(致命错误) > error (错误) > warn (警告) > info(普通信息)>debug(调试信息);

只有等于或者大于设置的等级才可输出,如这里设置debug,所有都可以输出,如果设置error,只有error和fatal才可以输出;

appender1是控制器输出;

appender2是文件输出;

第二行:log4j.appender.appender1=org.apache.log4j.ConsoleAppender

指输出类型,指明是控制器输出还是输出到文件;

第三行:log4j.appender.appender1.layout=org.apache.log4j.PatternLayout

        指明输出的类;

第四行:

log4j.appender.appender1.layout.ConversionPattern=%m class\:%C %L\u884C%n

表示输出格式;

pattern 中常用几个输出表达式;

1.%C 包名+类名

2.%d{YYYY-MM-ddHH:mm:ss} 时间

3.%L 行号

4.%m 信息

5.%n 换行

这里是可以给\u884C 是什么呢?这里是我写入的中文,它进行了转码,下面可以看到运行结果就可以明白了

后面的是把信息输出到文件:相同部分就不过多解释log4j.appender.appender2.File=d:/logger.log   指定输出文件的路径;

 

调用代码和控制器输出结果:

    可以在图片中看到  class:和行 ,其实是log4j.properties设置格式:

%m class\:%C %L\u884C%n   \u884C就是表示行的意思;

 

如果设置的等级是info,那debug是不会进行输出的:

因为info 输出等级比debug高;只输出了info和error等级的;

 

在文件中也是一样的,注意空格:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值