Eclipse 使用log4j--Logger每天打印一个日志文件

1.首先把jar包导入项目的lib下

这里jar包用的是1.2.17版本的
在这里插入图片描述
链接:https://pan.baidu.com/s/17JKu4qjEIpyXKn-Lo4IeVQ
提取码:w1im
有需要的可以去我的百度网盘下载

2.配置文件的配置

首先建立一个配置文件- log4j.properties
在这里插入图片描述
其配置内容如下:
在这里插入图片描述

log4j.rootLogger = debug,stdout,file

### 输出到控制台 ###
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{ABSOLUTE} %5p %c{1}:%L - %m%n

### 输出到日志文件 ###
log4j.appender.file = org.apache.log4j.DailyRollingFileAppender

###设置DatePattern,当天日志保存到log.log文件,前一天的日志文件名将被修改为log.log + _yyyy-MM-dd.log
log4j.appender.file.File =D/logs/log.log
log4j.appender.file.DatePattern = '_'yyyy-MM-dd'.log'
log4j.appender.file.Append = true

## 输出DEBUG级别以上的日志
log4j.appender.file.Threshold = DEBUG
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

3.进行测试

public class Test {

	 private static Logger logger;
	    private static String filepath;
	    public Test(String path){      //path:日志保存路径  
	    	filepath=path;
	         new File(filepath).mkdir();  //创建文件夹
	    }  
	    public static void infoMsg(String filename,String msg){       //filename:生成日志的文件名  msg:日志信息
	    	logger  =  Logger.getLogger("_"+filename);  
	    	DailyRollingFileAppender appender=new DailyRollingFileAppender();  
	        appender.setFile(filepath+"/"+filename+".log");  
	        appender.setDatePattern("'.'yyyy-MM-dd");  
	        PatternLayout layout=new PatternLayout("%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS}%c %m%n");  
	        appender.setLayout(layout);
	        appender.setAppend(true);
	        appender.activateOptions();
	        logger.addAppender(appender);
	        logger.setAdditivity(false);  
	        logger.setLevel(Level.INFO);
	        logger.info(msg);
	        appender.close();
	    }
	     public Logger getLogger() {  
	        return logger;  
	    } 
	     public static void main(String[] args){  
	         new Test("E:\\test\\vcmslog");
	         Test.infoMsg("aaa","啊哈哈哈哈哈哈哈");
	         Test.infoMsg("aaa","22222");
	         Test.infoMsg("aaa","啊哈333333哈哈哈哈");
	         Test.infoMsg("wang","啦啦啦啦啦阿拉拉了");
	     } 
	
}

运行后效果如下:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
测试成功!
下面用到实例里:
在这里插入图片描述

//日志-声明以及创建调用方法
	private static Logger logger;
	private static String filepath;
	public void setLog(String path) { //path:日志保存路径  
		filepath=path;
        new File(filepath).mkdir();  //创建文件夹
	}
	public static void infoMsg(String filename,String msg){       //filename:生成日志的文件名  msg:日志信息
    	logger  =  Logger.getLogger("_"+filename);  
    	DailyRollingFileAppender appender=new DailyRollingFileAppender();  
        appender.setFile(filepath+"/"+filename+".log");  
        appender.setDatePattern("'.'yyyy-MM-dd");  
        PatternLayout layout=new PatternLayout("%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS}%c %m%n");  
        appender.setLayout(layout);
        appender.setAppend(true);
        appender.activateOptions();
        logger.addAppender(appender);
        logger.setAdditivity(false);  
        logger.setLevel(Level.INFO);
        logger.info(msg);
        appender.close();
    }
     public Logger getLogger() {  
        return logger;  
    } 

打印日志就只需要调用方法就可以了
在这里插入图片描述
打印出来的文件如下:
在这里插入图片描述
带日期的是昨天打印出来的日志文件,不带日期的是今天打印的。
也就是说一天一个日志文件,会自动把之前的日志文件名字后面加上之前那一天的日期。肥肠nice~
搞定!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值