我有 3 个不同的进程正在运行,并希望使用 logcat 将它们的日志收集到单个日志文件中。
这个日志文件是否可能只包含来自我的 3 个进程的日志?如何以编程方式执行相同的操作。
任何有关同样高度赞赏的帮助。
-问候,曼朱
我有 3 个不同的进程正在运行,并希望使用 logcat 将它们的日志收集到单个日志文件中。
这个日志文件是否可能只包含来自我的 3 个进程的日志?如何以编程方式执行相同的操作。
任何有关同样高度赞赏的帮助。
-问候,曼朱
您可以按标签过滤 logcat 输出。
过滤时可以使用正则表达式。例如,如果您有 3 个标签 tag1m tag2、tag3,那么如果您的过滤器是 tag1|tag2,您将看到由 tag1 和 tag2(但不是 tag3)标记的 logcaat 输出。
要将消息记录在文件中,最好使用Log4j for android。这也很简单。
您可以尝试这种方式调用此方法并将您的消息放入日志文件中并存储在您的 SD 卡中。您的应用程序测试的任何地方都会创建一个日志,您可以查看详细信息
public static void MyLog(String msg_location, String log_message) {
String messgae_location = msg_location;
String message_details = log_message;
File sdCard = Environment.getExternalStorageDirectory();
File dir = new File(sdCard.getAbsolutePath()
+ "/mydata/LOG");
if (!dir.exists()) {
dir.mkdirs();
}
BufferedWriter bufferedWritter = null;
try {
bufferedWritter = new BufferedWriter(new FileWriter(dir
+ File.separator + "my_Log.txt", true));
String logString = null;
logString = currentDateTime1() + ": " + messgae_location + ": "
+ message_details + "\n";
bufferedWritter.write(logString);
bufferedWritter.newLine();
bufferedWritter.flush();
} catch (FileNotFoundException e) {
// e.printStackTrace();
} catch (IOException e) {
// e.printStackTrace();
}
}