学校网站的平台用途及建设规划,兰州市城乡建设厅网站,代加工厂找订单的网站,手机版网站怎么做的结帖率#xff1a;100%#1 得分#xff1a;0 回复于#xff1a; 2004-06-22 17:24:13 使用一个单独的类封装日志记录#xff0c;在该类中记录当前使用的文件名#xff0c;每次记日志时获取一下系统时间#xff0c;与文件名匹配一下#xff0c;发现日期不同则新开文件。下… 结帖率100% #1 得分0 回复于 2004-06-22 17:24:13 使用一个单独的类封装日志记录在该类中记录当前使用的文件名每次记日志时获取一下系统时间与文件名匹配一下发现日期不同则新开文件。 下面是我利用jdk1.4附带的logging包写的日志记录类 package olcom.mp.opermanage.lom.term; import java.util.logging.*; import olcom.mp.opermanage.util.DateFormator; import java.io.*; import java.util.Date; /** * 记日志 * pTitle: /p * pDescription: /p * pCopyright: Copyright (c) 2004/p * pCompany: /p * author not attributable * version 1.0 */ public class TermLogging { //logger private Logger logger; //输出处理 private FileHandler currentHandler; //使用的日期 private String strCurrDate; //输出级别 private Level level; //日志路径 private String logPath term_log; /** * 构造函数 */ public TermLogging(){ logger Logger.getLogger(Term); logger.setUseParentHandlers(false); strCurrDate DateFormator.parseLongToStr(System.currentTimeMillis(),yyyyMMdd); try { createDir(); currentHandler new FileHandler( getFileName(),true ); logger.addHandler(currentHandler); currentHandler.setFormatter(new TermFormatter()); } catch (IOException e) { System.out.println([OperManage]Log exception: e.getMessage() ); } } /** * 获取日志文件名 * return */ private String getFileName(){ return logPath /term strCurrDate .log; } /** * 创建日志目录 */ private void createDir() { File fdir new File(logPath); if (!fdir.exists()) { System.out.println([OperManage]Create Term log dir); if (fdir.mkdir() false) { System.out.println([OperManage]Log dir create fail); } } } /** * 记日志 * param info */ public void log(String info) { //获取记日志时的日期 String strLogDate DateFormator.parseLongToStr(System.currentTimeMillis(),yyyyMMdd); //如果日期和当前用的不一致生成新的文件 if ( !strLogDate.equals(strCurrDate) ) { strCurrDate strLogDate; logger.removeHandler(currentHandler); try { currentHandler new FileHandler( getFileName(),true ); logger.addHandler(currentHandler); currentHandler.setFormatter(new TermFormatter()); } catch (IOException e) { System.out.println([OperManage]Log exception: e.getMessage() ); } } //记录 logger.log(OpLevel.TERM,info); } } /** * 自定义消息级别 * pTitle: /p * pDescription: /p * pCopyright: Copyright (c) 2004/p * pCompany: /p * author not attributable * version 1.0 */ class OpLevel extends Level { //定义自己的消息级别TERM public static final Level TERM new OpLevel(TERM, Level.INFO.intValue() 50); public OpLevel(String ln, int v) { super(ln, v); } } /** * 格式化日志记录 * pTitle: /p * pDescription: /p * pCopyright: Copyright (c) 2004/p * pCompany: /p * author not attributable * version 1.0 */ class TermFormatter extends Formatter { public String format(LogRecord rec) { String dem \t; StringBuffer buf new StringBuffer(1000); //作为消息ID buf.append(rec.getMillis()); buf.append(dem); //时间 String time DateFormator.parseLongToStr(System.currentTimeMillis(),yyyyMMddHHmmss); buf.append(time); buf.append(dem); //消息级别 buf.append(rec.getLevel()); buf.append(dem); //格式化日志记录数据 buf.append(formatMessage(rec)); //换行 buf.append(\n); return buf.toString(); } }