出处:http://blog.csdn.net/it_talk/article/details/39155893
有时候,我们在开发状态下,需要打印一些日志信息,而发布状态下又想去掉这些日志信息(打印出来的信息可能会泄露),如果没有好的日志管理,这时候,你会发现,当初写的日志输出,还有一个一个找出来,然后删掉,所以,一个好的日志管理必不可少。
这是我项目中的一个日志管理类,可自行添加所需的输出方法。
- 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();
- }
- }