前言:关于log4j相关的知识,网上一大堆,可是各位“大神”写的多数是代码片段,在试了一万个程序之后,运行失败。这对于小白来说打击很大,我想说写的东西整理不全面就别发出来耽误别人时间。在这写下我总结的并测试通的简单程序,以供参考。
1.新建Maven工程,在pom.xml中引入依赖
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
2.编写测试类 路径:src/main/java com.icss.lo4j.test包
public class Log4jTest {
private final static Log logger = LogFactory.getLog(Log4jTest.class);
public static void main(String[] args) {
logger.trace("This is a trace");//配置中最低级别日志打印为INFO,则这条日志不会被打印
logger.info("This is an info");
logger.warn("This is a warn");
logger.error("This is an error");
logger.fatal("This is a fatal");
}
}
3.编写log4j.properties 路径:src/main/resources log4j.properties文件
### 设置日志输出最低级别和日志输出地 ###
log4j.rootLogger = INFO , console , info , error
### 控制台打印日志 ###
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} [%p]-[%c] %m%n
### 日志输出到某文件中,输出到该文件的门槛为Threshold = INFO ###
log4j.appender.info = org.apache.log4j.DailyRollingFileAppender
log4j.appender.info.File = E:/logs/Tst.log
log4j.appender.info.Append = true
log4j.appender.info.Threshold = INFO
log4j.appender.info.layout = org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} [%p]-[%c] %m%n
### 日志输出门槛Threshold = ERROR,Append = true表示不覆盖输出 ###
log4j.appender.error = org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.File = E:/logs/Tst_error.log
log4j.appender.error.Append = true
log4j.appender.error.Threshold = ERROR
log4j.appender.error.layout = org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} [%p]-[%c] %m%n
4.然后运行Log4jTest,可以看到各地方输出的文件信息(以后就可以改造了)
[补充知识]:
-> 配置日志信息输出目的地 其语法为:log4j.appender.appenderName(比如console,) = 输出目的地类的全称(五种可选)
1.org.apache.log4j.ConsoleAppender(控制台)
2.org.apache.log4j.FileAppender(文件)
3.org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
4.org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
5.org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)