需求:
我需要在程序运行的时候将日志打印在一个文件里面.
需要导入的jar包:
log4j-1.2.17.jar
https://pan.baidu.com/s/1uiSFoi53JCOo0GbrbuW3NA
然后需要将 log4j.properties 文件放在项目的 src 目录下面.
你将 log4j.properties 放在src目录下面,文件会放在class目录下面,就是项目的bin目录下面.
log4j.properties:
log4j.rootLogger=INFO,testlog
log4j.appender.testlog = org.apache.log4j.RollingFileAppender
log4j.appender.testlog.layout = org.apache.log4j.PatternLayout
log4j.appender.testlog.layout.ConversionPattern = [%-5p][%-22d{yyyy/MM/dd HH:mm:ssS}][%l]%n%m%n
log4j.appender.testlog.Threshold = INFO
log4j.appender.testlog.ImmediateFlush = TRUE
log4j.appender.testlog.Append = TRUE
log4j.appender.testlog.File = /home/hadoop/logs/log/access.log
log4j.appender.testlog.MaxFileSize = 10KB
log4j.appender.testlog.MaxBackupIndex = 20
#log4j.appender.testlog.Encoding = UTF-8
生成日志的类:
package com.thp.bigdata.log;
import java.util.Date;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
/**
* 生成日志
* @author 汤小萌
*
*/
public class GenerateLog {
public static void main(String[] args) throws InterruptedException {
Logger logger = LogManager.getLogger("testlog");
int i = 0;
while(true) {
logger.info(new Date().toString() + "-----------------------");
i++;
Thread.sleep(500);
if(i > 1000000) {
break;
}
}
}
}
文件生成的日志: