我的问题是将日志文件保存到SD卡中。假设我有3个类文件,分别为class1,class2和class3。然后我想将日志文件保存为class1.txt
,class2.txt
和class3.txt
。
答案 0 :(得分:0)
维护日志的更好方法:
将以下代码添加到build.gradle文件[Module:app]
当应用程序处于调试模式时,日志必须显示,而不是在发布模式时,以避免出现安全问题。
buildTypes {
release {
buildConfigField "Boolean", "IS_DEBUG", "false"
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
debug {
buildConfigField "Boolean", "IS_DEBUG", "true"
signingConfig signingConfigs.config
}
}
在Utility类上创建如下:
public class Logger {
//Debug Logs
public static void d(String tag, String msg) {
if (BuildConfig.IS_DEBUG) {
Log.e(tag, msg);
}
}
//Warning Logs
public static void w(String tag, String msg) {
if (BuildConfig.IS_DEBUG) {
Log.e(tag, msg);
}
}
//Verbose Logs
public static void v(String msg) {
if (BuildConfig.IS_DEBUG) {
Log.v(Parent.TAG, msg);
}
}
//Error Logs
public static void e(String tag, String msg, Throwable t) {
if (BuildConfig.IS_DEBUG) {
Log.e(tag, msg, t);
}
}
}
在您的相应课程中,请将TAG定义为班级名称
ex:private String TAG =“AddNavigationDrawerSctivity”;
请致电如下:
调试日志:
Logger.d(TAG,“isMenuFeature():”+ mNavigationMenuItemsModel.isIsMenuFeature());
错误日志:
Logger.e(TAG,“失败”+ t.getMessage(),t);
在特定屏幕上工作时,您可以使用TAG名称进行过滤。
在Timer中使用下面的代码段来每5秒捕获一次日志
String command = "C:\Users\vos\AppData\Local\Android\Sdk\platform-tools>adb logcat";
Process process = Runtime.getRuntime().exec(command);
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
如果有帮助请告知。