log4j

1.在mvc项目中使用log4j,需要导入jar包

然后在web.xml文件中配置:

<!-- log4j监听器 -->

<listener>

    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
  </listener>
  <!-- log4j日志输出 -->
  <context-param>
    <param-name>log4jConfigLocation</param-name>

    <param-value>classpath:log4j.properties</param-value><!-- 指定log4j配置文件的路径 -->

但是今天看了公司的一个项目,他没有在web.xml文件中配置这些东西,但导的包也不一样

,不知道是不是底层的原因自动到resource文件夹下找log4j.properties.但是slf4j-log4j12下面有包含log4j的包

获取:Logger logger = LoggerFactory.getLogger(this.class);

log4j的配置,根据一套配置信息来记录:

log4j.rootLogger=ERROR,CONSOLE,ROLLING_FILE_RESOURCE
#INFO,CONSOLE,ROLLING_FILE
#DEBUG,ROLLING_FILE
###################
# Console Appender

###################

#输出到控制台

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

#全局的指定输出等级,还可以指定appenderName的输出等级,如:og4j.appender.CONSOLE.Threshold=INFO

log4j.appender.Threshold=INFO 

#目标

log4j.appender.CONSOLE.Target=System.out

#日志布局格式:PatternLayout(可以灵活的指定布局格式,常用)

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

#日志输出格式

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


########################
# Daily Rolling File REOURCE

########################

#每天产生一个日志文件

log4j.appender.ROLLING_FILE_RESOURCE=org.apache.log4j.DailyRollingFileAppender

# log4j会先生成cps_show.log这样一个文件,然后当这一天过去的时候,生成一个新的cps_show.log,然后把原来的保存为加#上日期格式后缀的文件,cps_show2009-11-12.log

log4j.appender.ROLLING_FILE_RESOURCE.DatePattern = yyyy-MM-dd'.log'

#D\:\\logs\\cps_show.log  logs/cps_show.log

#指定日志文件路径

log4j.appender.ROLLING_FILE_RESOURCE.File=D\:\\logs\\cps_show


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

#项目中com.ultrapower.cps.cps_show文件夹下的级别
log4j.logger.com.ultrapower.cps.cps_show=INFO,CONSOLE,ROLLING_FILE_RESOURCE

log4j.additivity.com.ultrapower.cps.cps_show=false

#保证这个级别是warn的日志一定会被记录,即使log4j的根日志级别是ERROR

log4j.logger.org.springframework.web.servlet.handler.SimpleMappingExceptionResolver=WARN


#数据操作有关打印到控制台的级别

log4j.logger.java.sql.ResultSet=INFO  
log4j.logger.org.apache=INFO  
log4j.logger.java.sql.Connection=DEBUG  
log4j.logger.java.sql.Statement=DEBUG  
log4j.logger.java.sql.PreparedStatement=DEBUG

 1  . 配置根 Logger ,其语法为: 
   log4j.rootLogger = [ level ] , appenderName, appenderName, …

  其中, level 是日志记录的优先级,分为 OFF  FATAL  ERROR  WARN  INFO  DEBUG  ALL 或者您定义的级别。 Log4j 建议只使用四个级别 ,优先级从高到低分别是 ERROR WARN  INFO  DEBUG 。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定 义了 INFO 级别,则应用程序中所有 DEBUG 级别的日志信息将不被打印出来  appenderName 就是指 B 日志信息输出到哪个地方。您可以同时指定多个输出目的地。

log4j.additivity的说明 

log4j.additivity是 子Logger 是否继承 父Logger 的 输出源(appender) 的标志位。具体说,默认情况下 子Logger 会继承 父Logger 的appender,也就是说 子Logger 会在 父Logger 的appender里输出。若是additivity设为false,则 子Logger 只会在自己的appender里输出,而不会在 父Logger 的appender里输出。 

如: 
log4j.rootLogger=INFO, stdout,logfile 
log4j.logger.com.ambow.upgrade=INFO, dataSync 


则com.ambow.upgrade包及其子包下的Logger不光在Appender dataSync里输出,也会在rootLogger的Appender stuout和logfile中输出; 
若想让com.ambow.upgrade包及其子包下的Logger只在Appender dataSync中输出,则在log4j.properties中添加下行即可: 
log4j.additivity.com.ambow.upgrade=false  


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值