Debuglog 调试日志文件创建类的编写

闲话不说,直接上代码,有图有真相。。。

package com;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.TimeZone;
public class Dbuglog {
 static public Dbuglog Dbuglog; // 唯一实例
 static public int flog;
 private PrintWriter logs=null;
 private String classname="";
 /**
  * 将文本信息写入日志文件
  */
 static synchronized public Dbuglog getInstance() {
  if (Dbuglog == null) {
   Dbuglog = new Dbuglog();
  }
  flog++;
  return Dbuglog;
 } 
 private Dbuglog() {
  String logFile = getlogfile();
  try {
   // System.out.print(logFile);
   logs = new PrintWriter(new FileWriter(logFile, true), true);
   logFile=null;
  } catch (IOException e) {
   System.err.println("无法打开日志文件: " + logFile);
   logFile=null;
  }
 } 
 public void Setclassname(String name){
  this.classname=name;
 }
 public void write(String msg) {
  logs.println(getdate("yyyy-MM-dd HH:mm:ss") +" "+ classname+": " + msg);
 }
 /**
  * 将文本信息与异常写入日志文件
  */
 public void write(Throwable e, String msg) {
  logs.println(getdate("yyyy-MM-dd HH:mm:ss") +" "+ classname+ ": " + msg);
  e.printStackTrace(logs);
 }
 private String getlogfile() {
  String path1 = this.getClass().getResource("/").getPath();
  path1 = path1.substring(1, path1.indexOf("WEB-INF")) + "logs/";
  try {
   path1 = java.net.URLDecoder.decode(path1, "utf-8");
   File dirFile = new File(path1);
   if (!dirFile.exists()) {
    if (!dirFile.mkdir())
     throw new Exception("日志目录不存在,创建失败!");
   }
   path1 = path1 + getdate("yyyy-MM-dd") + ".txt";
   dirFile = new File(path1);
   if (!dirFile.exists()) {
    if (!dirFile.createNewFile()) {
     throw new Exception("日志文件不存在,创建失败!");
    }
   }
  } catch (UnsupportedEncodingException e) {
   e.printStackTrace();
  } catch (Exception e) {
   e.printStackTrace();
  }
  return path1;
 }
 private String getdate(String format) {
  SimpleDateFormat tempDate = new SimpleDateFormat(format);
  tempDate.setTimeZone(TimeZone.getTimeZone("GMT+8"));
  return tempDate.format(new java.util.Date());
 }
}


 


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值