嘿,Android可以从一个类中收集所有Log.d并继续附加它并将其保存到SDCard中吗?
例如:
Class Android {
private final static String TAG = "hello";
public void abcd(){
Log.d(TAG, "it went into abcd method");
}
public void efgh(){
Log.d(TAG, "it went into efgh method");
}
/*Here collect all above LOGS and write to file in SDCard*/
}
答案 0 :(得分:1)
您可以使用logcat
命令获取所有日志。您可以尝试以下方式:
public static void printLog(Context context){
String filename = context.getExternalFilesDir(null).getPath() + File.separator + "my_app.log";
String command = "logcat -d *:V";
Log.d(TAG, "command: " + command);
try{
Process process = Runtime.getRuntime().exec(command);
BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = null;
try{
File file = new File(filename);
file.createNewFile();
FileWriter writer = new FileWriter(file);
while((line = in.readLine()) != null){
writer.write(line + "\n");
}
writer.flush();
writer.close();
}
catch(IOException e){
e.printStackTrace();
}
}
catch(IOException e){
e.printStackTrace();
}
}
您可以在此处获取有关logcat
的更多信息:http://developer.android.com/tools/help/logcat.html
答案 1 :(得分:0)
您可以覆盖Log类并自己完成。但它真的需要你的目的吗?
答案 2 :(得分:0)
不,Log。*方法写入控制台,但您可以使用Logger http://developer.android.com/reference/java/util/logging/Logger.html和FileHandler
答案 3 :(得分:0)
如果要添加带有标签名称和
的日志kubectl port-forward svc/hello-minikube 31191:8080
不适用于您,那么您就可以做到这一点
logcat -s <Tagname>