前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >log4j配置和使用

log4j配置和使用

作者头像
逝兮诚
发布2019-10-30 13:23:18
4690
发布2019-10-30 13:23:18
举报
文章被收录于专栏:代码人生

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/luo4105/article/details/72865424

配置讲解

log4j是操作日志打印工具。

日志级别

日志主要有几个级别,从低到高依次是DEBUG < INFO<WARN < ERROR < FATAL < OFF,低级别会打印高级别的日志。

日志输出格式

1.%m : 日志内容

2.%d : 日期格式

3.%p : 日志级别

4.%c : java类名

5.%l : 代码源码行数

如:[%d{HH\:mm\:ss\:SSS}][%p] (%c\:%L) - %m%n

输出格式:[08:58:59:412][INFO] (com.soon.action:35)

日志输出文件

DailyRollingFileAppender:将每天的日志作为一个日志文件保存

RollingLogFileAppender:通过配置可以实现日志文件大小大于配置的最大值便新建日志文件存储

常见配置讲解

代码语言:javascript
复制
log4j.appender.D.File =E://logs/log.log       ### 日志文件地址,当天的文件名是"log.log",以前的日志文件名是"log.log.2017-05-31"###
log4j.appender.D.Append = true                                 ### 为true是日志追加,false是覆盖日志 ###
log4j.appender.D.Threshold = DEBUG                      ### 日志输出级别 ###
log4j.appender.D.layout =org.apache.log4j.PatternLayout          ###输出格式的类 ###
log4j.appender.D.layout.ConversionPattern =%-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [%p ]  %m%n             ### 日志输出格式 ###

整个文件

代码语言:javascript
复制
### 设置###
log4j.rootLogger = debug,stdout,D,E
 
log4j.logger.org.mybatis.example=DEBUG
 
### 输出信息到控制抬 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern= [%-5p]%d{yyyy-MM-dd HH:mm:ss,SSS}method:%l%n%m%n
 
### 输出DEBUG 级别以上的日志到=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = E://logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern= %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r] - [ %p ]  %m%n
 
### 输出ERROR 级别以上的日志到=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =E://logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-ddHH:mm:ss}  [ %t:%r] - [ %p ]  %m%n

使用

在项目中,通过以下代码输出日志。

代码语言:javascript
复制
private staticLogger logger= Logger.getLogger(LogTest.class);
logger.error("错误信息");
logger.info("info");

配置

在web项目中,spring会自动扫描项目包目录下是否存在log4j.properties文件。

如果想自定义log4j的文件名和路径,需要在web.xml中配置log4j的文件路径

代码语言:javascript
复制
<listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>classpath:log4j.xml</param-value>
</context-param>
<context-param>
    <param-name>log4jRefreshInterval</param-name>
    <param-value>60000</param-value>
</context-param>

输出mybatis SQL配置

让log4j打印mybatis的sql语句需要需要把打印等级改为debug

当log4j为debug,它会打印所有框架级别为debug的日志,这无疑是十分巨大而且悲剧的,如果只想打印mybatis的sql,不想打印spring、dubbo等框架的日志,可以做如下配置

代码语言:javascript
复制
### logger在rootlogger之前 ###
log4j.logger.com.lc.dao=debug,stdout,D
log4j.rootLogger = error,stdout,D,E

这里com.lc.dao就是mapper接口的包,这个配置意思是,对于dao包,打印日志是debug级别,对于全局,打印日志是error级别。

它的打印就只有

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/06/05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置讲解
    • 日志级别
      • 日志输出格式
        • 日志输出文件
        • 使用
        • 配置
        • 输出mybatis SQL配置
        相关产品与服务
        文件存储
        文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档