web项目log4j日志配置和使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gengyazhou123/article/details/51879035

在web.xml中配置Log4j的监听和文件映射与相关设置

web.xml代码

<!-- 配置log4j配置文件路径 -->
    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>classpath:log4j.properties</param-value>
    </context-param>
    <!-- 60s 检测日志配置 文件变化 -->
    <context-param>
        <param-name>log4jRefreshInterval</param-name>
        <param-value>60000</param-value>
    </context-param>

    <!-- 配置Log4j监听器 -->
    <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>

Log4j.properties的内容配置和解析

# DEBUG,INFO,WARN,ERROR,FATAL 日志等级
LOG_LEVEL=INFO

log4j.rootLogger=${LOG_LEVEL},CONSOLE,FILE
#log4j编码格式,时间格式设置
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Encoding=utf-8
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
#log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %C{8}@(%F:%L):%m%n 
log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %C{1}@(%F:%L):%m%n

log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.File=${catalina.base}/logs/survey.log
log4j.appender.FILE.Encoding=utf-8
log4j.appender.FILE.DatePattern='.'yyyy-MM-dd
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
#log4j.appender.FILE.layout=org.apache.log4j.HTMLLayout
log4j.appender.FILE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH\:mm\:ss} %C{8}@(%F\:%L)\:%m%n 

说明:

log4j.appender.CONSOLE.layout.ConversionPattern

 %m   输出代码中指定的消息
  %p   输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL 
  %r   输出自应用启动到输出该log信息耗费的毫秒数 
  %c   输出所属的类目,通常就是所在类的全名 
  %t   输出产生该日志事件的线程名 
  %n   输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n” 
  %d   输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss
 ,SSS},输出类似:2002年10月18日  22  10  28  921 
 
  %l   输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:
 10 )

log4j.appender.CONSOLE.Encoding=UTF-8是Log代码的编码格式

log4j.appender.FILE.File = ${catalina.base}/....是Log日志的位置所在,${catalina.base}是对应的tomcat实例  一般情况下${catalina.home}为tomcat 的lib/bin目录的父目录,catalina.base指 向每个Tomcat目 录私有信息的位置,就是conf、logs、temp、webapps和work的父目录。

对于Log日志的使用方法:

在java使用sql的相关方法中,在又try方法的相关类中,使用以下方式:

Logger log = Logger.getLogger(this.getClass());

在catch中写

log.error(e);

就可以将日志输出到对应的日志文件中



注意,代码规范 :在类中应该详细说明,日志错误原因是什么,便于以后在查询的时候方便查询,要检查的错误代码放在try中,可以有效的捕捉到。

log.error(e.getMessage()+"错误原因");可以不照这个格式写,但是要保证能清楚


展开阅读全文

没有更多推荐了,返回首页