zoukankan      html  css  js  c++  java
  • Logger日志管理工具类

     

    import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; import java.util.Date; import org.apache.commons.lang3.time.DateFormatUtils; import android.os.Environment; import android.util.Log; public class Logger { private static int LOGLEVEL = 6; private static int VERBISE = 1; private static int DEBUG = 2; private static int INFO = 3; private static int WARN = 4; private static int ERROR = 5; // 根据需要将Log存放到SD卡中 private static String path; private static File file; private static FileOutputStream outputStream; private static String pattern = "yyyy-MM-dd HH:mm:ss"; static { if (Utils.checkSD()) { File externalStorageDirectory = Environment .getExternalStorageDirectory(); path = externalStorageDirectory.getAbsolutePath() + "/Log/"; File directory = new File(path); if (!directory.exists()) { directory.mkdirs(); } file = new File(new File(path), "Log.txt"); try { outputStream = new FileOutputStream(file, true); } catch (FileNotFoundException e) { e.printStackTrace(); } } } public static void v(String tag, String msg) { if (LOGLEVEL > VERBISE) { Log.v(tag, msg); } } public static void d(String tag, String msg) { if (LOGLEVEL > DEBUG) { Log.d(tag, msg); } } public static void i(String tag, String msg) { if (LOGLEVEL > INFO) { Log.i(tag, msg); } } public static void w(String tag, String msg) { if (LOGLEVEL > WARN) { Log.w(tag, msg); } } public static void e(String tag, String msg) { if (LOGLEVEL > ERROR) { Log.e(tag, msg); } } /** * 将错误信息保存到SD卡中去!可选的操作! * * @param msg * 传递的String类型 */ public static void save2Sd(String msg) { Date date = new Date(); String time = DateFormatUtils.format(date, pattern); save(time, msg); } /** * 将错误信息保存到SD卡中去!可选的操作! * * @param e * 传递的是Exception类型 */ public static void save2Sd(Exception e) { Date date = new Date(); String time = DateFormatUtils.format(date, pattern); StringWriter writer = new StringWriter(); PrintWriter pw = new PrintWriter(writer); e.printStackTrace(pw); String msg = writer.toString(); save(time, msg); } /** * 保存的核心方法 * @param time 保存的时间 * @param msg 保存的信息 */ private static void save(String time, String msg) { if (Utils.checkSD()) { if (outputStream != null) { try { outputStream.write(time.getBytes()); outputStream.write(" ".getBytes()); outputStream.write(msg.getBytes()); outputStream.write(" ".getBytes()); outputStream.flush(); } catch (IOException ex) { ex.printStackTrace(); } } else { android.util.Log.i("SDCAEDTAG", "file is null"); } } } }
  • 相关阅读:
    [MacOS]Sublime text3 安装(一)
    [RHEL8]开启BBR
    PAT Advanced 1136 A Delayed Palindrome (20分)
    PAT Advanced 1144 The Missing Number (20分)
    PAT Advanced 1041 Be Unique (20分)
    PAT Advanced 1025 PAT Ranking (25分)
    PAT Advanced 1022 Digital Library (30分)
    PAT Advanced 1019 General Palindromic Number (20分)
    PAT Advanced 1011 World Cup Betting (20分)
    PAT Advanced 1102 Invert a Binary Tree (25分)
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/3502913.html
Copyright © 2011-2022 走看看