开发中的日志管理类

有时候,我们在开发状态下,需要打印一些日志信息,而发布状态下又想去掉这些日志信息(打印出来的信息可能会泄露),如果没有好的日志管理,这时候,你会发现,当初写的日志输出,还有一个一个找出来,然后删掉,所以,一个好的日志管理必不可少。

这是我项目中的一个日志管理类,可自行添加所需的输出方法。

public class MyLog {
	/**
	 * 是否是开发状态,正式发布要置为false
	 */
	public static final boolean DEBUG=true;
	public static void v(Class<?> clzz,String msg){
		if(DEBUG){
			Log.v(clzz.getSimpleName(), msg);
		}
	}
	
	public static void e(Class<?> clzz,String msg){
		if(DEBUG){
			Log.e(clzz.getSimpleName(), msg);
		}
	}
	
	/**
	 * 
	 * 2014-8-22 下午3:52:00
	 * @param msg
	 * @TODO 打印日志输出到文件log.txt
	 */
	@SuppressLint("SimpleDateFormat")
	public static void printLog(final String msg){
		if(!DEBUG) return;
		new AsyncTask<Void, Void, Void>() {
			@Override
			protected Void doInBackground(Void... params) {
				SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
		        String time = formatter.format(new Date());  
		        StringBuffer sb = new StringBuffer(); 
		        sb.append(time+"\n");
		        sb.append(msg+"\n");
		        try {  
		            String fileName = "log.txt";
		            if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {  
		                String path = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator+"cache/";  
		                File dir = new File(path);  
		                if (!dir.exists()) {  
		                    dir.mkdirs();  
		                }
		                File file=new File(path+fileName);
		                if(!file.exists()){
		                	file.createNewFile();
		                }
		                FileOutputStream fos = new FileOutputStream(path+fileName, true); 
		                fos.write(sb.toString().getBytes());  
		                fos.close();  
		            }  
		  
		        } catch (Exception e) {  
		        }  
				return null;
			}
		}.execute();
		
	}
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值