java 日志时间格式_java.util.logging.logger按日期时间格式保存日志就这么简单

使用日志看似简单,其实不然。

我是一个学了Java仅仅一个多月的程序员,以前一直在微软平台上做事情,因工作需要不得不转到Java上,一切都现学现卖。

现在到了写日志的阶段,开始使用java.util.logging.logger觉得不错,搞熟悉后又听说log4j不错,又把log4j熟悉了起来,感觉确实不错。

可是在编写Java RMI应用时Log4j遇到了致命的问题就是不能串行化(Serialized),又不得又回到了java.util.logging.logger上来,在使用Log4j时觉得能按日期格式DailyRolling...保存日志文件很实用,因为长期不间断使用一个文件记录日志会产生很大的文件很不方便,那么java.util.logging.logger能不能也这样做,在网上找了一堆解决办法,结果都是云里来雾里去不得要领,后来发现问题的解决竟然是那么简单,概念就不赘述了,直接上代码。

package madaming.logs.java.util.logging.logger;

import java.io.IOException;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.logging.*;

/**

* Created by madaming on 2014/10/27.

*/

public class LogTest {

public static void main(String[] args) {

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH-mm");

String trace = sdf.format(new Date().getTime());

final Logger logger = Logger.getLogger("madaming.logs.java.util.logging.logger");

logger.setLevel(Level.INFO);

FileHandler fileHandler = null;

try {

fileHandler = new FileHandler("java_"+trace+".log",true ); // 只用一个文件记录日志

// 用10个文件记录日志,每个文件10240个字节,10个文件循环使用并覆盖,只保留最后10个文件的内容

// fileHandler = new FileHandler("java_"+trace+"_%g.log", 1024*1024, 30);

} catch (IOException e) {

e.printStackTrace();

}

fileHandler.setFormatter(new Formatter() {

@Override

public String format(LogRecord arg0) {

SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");//设置日期格式

return df.format(new Date()) + "\t" + arg0.getLoggerName() + "\t" + arg0.getLevel().getName() + "\t" + arg0.getMessage() + "\n\r\n";

}

});

// java.util.logging.Formatter s = new java.util.logging.SimpleFormatter();

// fileHandler.setFormatter(s);

fileHandler.setLevel(Level.INFO);

logger.addHandler(fileHandler);

logger.info("********");

for (int i = 0; i < 10; i++) {

logger.info(String.format("%04d", i) + " Begin Crawling, Good Luck!");

trace = sdf.format(new Date().getTime());

String filePatten="LogTest" + trace + ".log";

File file = new File(filePatten);

if (!file.exists()) {

logger.removeHandler(fileHandler);

fileHandler = new FileHandler(filePatten, true); // 只用一个文件记录日志

logger.addHandler(fileHandler);

}

}

}

}

运行结果:

产生的日志文件是

java_2014-11-01-22-02.log

java_2014-11-01-22-03.log

java_2014-11-01-22-04.log

java_2014-11-01-22-05.log

其中最后一个日志文件的内容是

014年11月01日 22:05:12 madaming.logs.java.util.logging.logger INFO ********

2014年11月01日 22:05:12 madaming.logs.java.util.logging.logger INFO 0000 Begin Crawling, Good Luck!

2014年11月01日 22:05:12 madaming.logs.java.util.logging.logger INFO 0001 Begin Crawling, Good Luck!

2014年11月01日 22:05:12 madaming.logs.java.util.logging.logger INFO 0002 Begin Crawling, Good Luck!

2014年11月01日 22:05:12 madaming.logs.java.util.logging.logger INFO 0003 Begin Crawling, Good Luck!

2014年11月01日 22:05:12 madaming.logs.java.util.logging.logger INFO 0004 Begin Crawling, Good Luck!

2014年11月01日 22:05:12 madaming.logs.java.util.logging.logger INFO 0005 Begin Crawling, Good Luck!

2014年11月01日 22:05:12 madaming.logs.java.util.logging.logger INFO 0006 Begin Crawling, Good Luck!

2014年11月01日 22:05:12 madaming.logs.java.util.logging.logger INFO 0007 Begin Crawling, Good Luck!

2014年11月01日 22:05:12 madaming.logs.java.util.logging.logger INFO 0008 Begin Crawling, Good Luck!

2014年11月01日 22:05:12 madaming.logs.java.util.logging.logger INFO 0009 Begin Crawling, Good Luck!

2014年11月01日 22:05:29 madaming.logs.java.util.logging.logger INFO ********

2014年11月01日 22:05:29 madaming.logs.java.util.logging.logger INFO 0000 Begin Crawling, Good Luck!

2014年11月01日 22:05:29 madaming.logs.java.util.logging.logger INFO 0001 Begin Crawling, Good Luck!

2014年11月01日 22:05:29 madaming.logs.java.util.logging.logger INFO 0002 Begin Crawling, Good Luck!

2014年11月01日 22:05:29 madaming.logs.java.util.logging.logger INFO 0003 Begin Crawling, Good Luck!

2014年11月01日 22:05:29 madaming.logs.java.util.logging.logger INFO 0004 Begin Crawling, Good Luck!

2014年11月01日 22:05:29 madaming.logs.java.util.logging.logger INFO 0005 Begin Crawling, Good Luck!

2014年11月01日 22:05:29 madaming.logs.java.util.logging.logger INFO 0006 Begin Crawling, Good Luck!

2014年11月01日 22:05:29 madaming.logs.java.util.logging.logger INFO 0007 Begin Crawling, Good Luck!

2014年11月01日 22:05:29 madaming.logs.java.util.logging.logger INFO 0008 Begin Crawling, Good Luck!

2014年11月01日 22:05:29 madaming.logs.java.util.logging.logger INFO 0009 Begin Crawling, Good Luck!

2014年11月01日 22:05:33 madaming.logs.java.util.logging.logger INFO ********

2014年11月01日 22:05:33 madaming.logs.java.util.logging.logger INFO 0000 Begin Crawling, Good Luck!

2014年11月01日 22:05:33 madaming.logs.java.util.logging.logger INFO 0001 Begin Crawling, Good Luck!

2014年11月01日 22:05:33 madaming.logs.java.util.logging.logger INFO 0002 Begin Crawling, Good Luck!

2014年11月01日 22:05:33 madaming.logs.java.util.logging.logger INFO 0003 Begin Crawling, Good Luck!

2014年11月01日 22:05:33 madaming.logs.java.util.logging.logger INFO 0004 Begin Crawling, Good Luck!

2014年11月01日 22:05:33 madaming.logs.java.util.logging.logger INFO 0005 Begin Crawling, Good Luck!

2014年11月01日 22:05:33 madaming.logs.java.util.logging.logger INFO 0006 Begin Crawling, Good Luck!

2014年11月01日 22:05:33 madaming.logs.java.util.logging.logger INFO 0007 Begin Crawling, Good Luck!

2014年11月01日 22:05:33 madaming.logs.java.util.logging.logger INFO 0008 Begin Crawling, Good Luck!

2014年11月01日 22:05:33 madaming.logs.java.util.logging.logger INFO 0009 Begin Crawling, Good Luck!





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值