1、配置log4j的配置文件
#log4j.properties配置
log4j.rootLogger = debug,FILE,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.ConversionPattern= [%p] %d{yyyy-MM-dd HH:mm:ss} %l %m%n log4j.appender.FILE = org.apache.log4j.FileAppender log4j.appender.FILE.File = E:\\log\\test.txt log4j.appender.FILE.Append=true log4j.appender.FILE.layout = org.apache.log4j.PatternLayout log4j.appender.FILE.ConversionPattern = [%p] %d{yyyy-MM-dd HH:mm:ss} %l %m%n
2、加载配置文件
先引入log4j.properties包
public static void getPropertyConfigurato(){ //加载配置文件 PropertyConfigurator.configure("C:NewData\\src\\main\\log4j.properties"); setLogFileName(NewData.class.getName()); }
3
、java中重新设置输出文件
public static void setLogFileName(String filename){ FileAppender appender= (FileAppender) Logger.getRootLogger().getAppender("FILE");//获取FileAppender对象 appender.setFile("C:NewData\\src\\main\\日志文件\\"+filename+".txt");//重新设置输出的日志的路径和文件名,动态地修改这个文件 }
4、调用log4j输出文件
public class OutPutLog { static Logger logger = Logger.getLogger(NewData.class);////NewData.class获取NewData的class对象。Logger.getLogger()是使用log4j的方式记录日志; /** * @param args */ public static void main(String[] args) { setLogFileName D = new setLogFileName("FileName文件名"); logger.info("输出你想要的相关信息"); }