清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
import org.apache.commons.lang3.time.DateFormatUtils; import android.os.Environment; import android.util.Log; /** * 日志记录 * */ public class LogUtil { /** * 开发阶段 */ private static final int DEVELOP = 0; /** * 内部测试阶段 */ private static final int DEBUG = 1; /** * 公开测试 */ private static final int BATE = 2; /** * 正式版 */ private static final int RELEASE = 3; /** * 当前阶段标示 */ private static int currentStage = DEVELOP; private static String path; private static File file; private static FileOutputStream outputStream; private static String pattern = "yyyy-MM-dd HH:mm:ss"; static { if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { File externalStorageDirectory = Environment.getExternalStorageDirectory(); path = externalStorageDirectory.getAbsolutePath() + "/zcw/"; File directory = new File(path); if (!directory.exists()) { directory.mkdirs(); } file = new File(new File(path), "log.txt"); android.util.Log.i("SDCAEDTAG", path); try { outputStream = new FileOutputStream(file, true); } catch (FileNotFoundException e) { } } else { } } public static void info(String msg) { info(LogUtil.class, msg); } public static void info(Class clazz, String msg) { switch (currentStage) { case DEVELOP: // 控制台输出 Log.i(clazz.getSimpleName(), msg); break; case DEBUG: // 在应用下面创建目录存放日志 break; case BATE: // 写日志到sdcard Date date = new Date(); String time = DateFormatUtils.format(date, pattern); if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { if (outputStream != null) { try { outputStream.write(time.getBytes()); String className = ""; if (clazz != null) { className = clazz.getSimpleName(); } outputStream.write((" " + className + "\r\n").getBytes()); outputStream.write(msg.getBytes()); outputStream.write("\r\n".getBytes()); outputStream.flush(); } catch (IOException e) { } } else { android.util.Log.i("SDCAEDTAG", "file is null"); } } break; case RELEASE: // 一般不做日志记录 break; } } }