log4j.properties 日志文件的详细配置说明

Posted 世间草木

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了log4j.properties 日志文件的详细配置说明相关的知识,希望对你有一定的参考价值。

一、在一个web 项目中,使用tomcat 启动通常会在控制台输出出现一个警告信息:

通常为未添加 log4j.properties文件的原因。

 

二、下面以一个普通的maven项目为例说明一下

1. 在maven项目的配置文件pom.xml中已经有日志文件的配置选项,如果需要使用,记得配置进去。

 1         <!-- 日志文件 -->
 2         <dependency>
 3             <groupId>org.slf4j</groupId>
 4             <artifactId>slf4j-api</artifactId>
 5             <version>${org.slf4j.version}</version>
 6         </dependency>
 7         <dependency>
 8             <groupId>org.slf4j</groupId>
 9             <artifactId>slf4j-log4j12</artifactId>
10             <version>${org.slf4j.version}</version>
11             <scope>runtime</scope>
12         </dependency>

2. 一般是在resources资源文件夹下添加 log4j.properties 配置文件。

log4j.properties 内容

#日志框架

#最早是System.out.print

#org.apache.log4j.Logger

#org.apache.commons.logging.Log

#java.util.logging.Logger

#org.slf4j.Logger 面向接口编程,选择实现(选择都使用这个)

#日志等级

#TRACE:详细等级,堆栈信息

#debug:类似于System.out.print

#info:类似于Hibernate的show_sql

#warn:不影响运行, 只是提示

#error:出现异常

#全局日志等级配置,输出位置

log4j.rootLogger=error, stdout,logfile

#stdout控制器

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=%d %p [%c]:%L - %m%n

#文件路径输出

log4j.appender.logfile=org.apache.log4j.RollingFileAppender

#默认输出到tomcat的根路径或者运行测试工程的根路径

log4j.appender.logfile.File=pss.log

log4j.appender.logfile.MaxFileSize=512KB

# Keep three backup files.

log4j.appender.logfile.MaxBackupIndex=3

# Pattern to output: date priority [category] - message

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

log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

#局部日志等级:就近原则

#log4j.logger.固定,后面添加想那个包使用不一样的日志等级

#log4j.logger.cn.itsource.pss=debug

三、补充

关于log4j日志文件的作用:

  在编程时经常不可避免地要使用到System.out.println() 语句输出日志信息,而且往往会有一些判断,

  比如: if(condition) { System.out.println("some information.") ; }  

  这些判断造成正常的程序逻辑中混杂了大量的输出语句。而在开发阶段写下的这些判断仅为了调试的语句,在开发完成时需要查找并移除。

  部署运行后,尤其是在一些企业应用系统中,还经常需要进一步调试,这时就遇到了更大的麻烦。所以,我们需要一套完备的、灵活的、可配置的日志工具.

所以, log4J就是优秀的选择。

 

Logger ----- 在执行应用程序时,接收日志语句生成的日志请求。

Appender -- 管理日志语句的输出结果。

Layout ----- 用于指定 appender 将日志语句写入日志目的地所采用的格式。

以上是关于log4j.properties 日志文件的详细配置说明的主要内容,如果未能解决你的问题,请参考以下文章

Log4j - 如何在没有其他详细信息的情况下仅将我的消息日志写入文件

log4j详解及log4j.properties配置

log4j的详细配置

zookeeper为啥不使用我的log4j.properties文件日志目录

log4j.properties中怎样配置才能在输出的日志信息中输出进程号和线程号?

日志——log4j.properties配置文件说明