package com.owncloud.android.utils; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import com.owncloud.android.MainApp; import android.util.Log; public class Log_OC { private static boolean isEnabled = false; private static File logFile; private static File folder; private static BufferedWriter buf; public static void i(String TAG, String message){ // Printing the message to LogCat console int a = Log.i(TAG, message); // Write the log message to the file appendLog(TAG+" : "+message); } public static void d(String TAG, String message){ Log.d(TAG, message); appendLog(TAG + " : " + message); } public static void d(String TAG, String message, Exception e) { Log.d(TAG, message, e); appendLog(TAG + " : " + message + " Exception : "+ e.getStackTrace()); } public static void e(String TAG, String message){ Log.e(TAG, message); appendLog(TAG + " : " + message); } public static void e(String TAG, String message, Throwable e) { Log.e(TAG, message, e); appendLog(TAG+" : " + message +" Exception : " + e.getStackTrace()); } public static void v(String TAG, String message){ Log.v(TAG, message); appendLog(TAG+" : "+ message); } public static void w(String TAG, String message) { Log.w(TAG,message); appendLog(TAG+" : "+ message); } public static void wtf(String TAG, String message) { Log.wtf(TAG,message); appendLog(TAG+" : "+ message); } public static void startLogging(String logPath) { folder = new File(logPath); logFile = new File(folder + File.separator + "log.txt"); if (!folder.exists()) { folder.mkdirs(); } if (logFile.exists()) { logFile.delete(); } try { logFile.createNewFile(); buf = new BufferedWriter(new FileWriter(logFile, true)); isEnabled = true; appendPhoneInfo(); }catch (IOException e){ e.printStackTrace(); } } public static void stopLogging() { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()); String currentDateandTime = sdf.format(new Date()); if (logFile != null) { logFile.renameTo(new File(folder + File.separator + MainApp.getLogName() + currentDateandTime+".log")); isEnabled = false; try { buf.close(); } catch (IOException e) { e.printStackTrace(); } } } private static void appendPhoneInfo() { appendLog("Model : " + android.os.Build.MODEL); appendLog("Brand : " + android.os.Build.BRAND); appendLog("Product : " + android.os.Build.PRODUCT); appendLog("Device : " + android.os.Build.DEVICE); appendLog("Version-Codename : " + android.os.Build.VERSION.CODENAME); appendLog("Version-Release : " + android.os.Build.VERSION.RELEASE); } private static void appendLog(String text) { if (isEnabled) { try { buf.append(text); buf.newLine(); } catch (IOException e) { e.printStackTrace(); } } } }