如何仅将我的进程记录到单个日志文件中

时间:2013-07-04 06:01:50

标签: android android-logcat

我有3个不同的进程正在运行,并希望使用logcat将日志从它们收集到一个日志文件中。

这个日志文件是否有可能只有我的3个进程的日志?如何做同样的程序。

任何有关同样高度赞赏的帮助。

-regards, 馒头

2 个答案:

答案 0 :(得分:0)

您可以按标签过滤logcat输出。

过滤时可以使用正则表达式。例如。如果您有3个标签tag1m tag2,tag3,那么如果您的过滤器是tag1 | tag2,您将看到由tag1和tag2(但不是tag3)标记的logcaat输出。

要在文件中记录您的消息,请更好地使用Log4j for android。它也很简单。

答案 1 :(得分:0)

您可以尝试这种方式调用此方法并将您的消息放在日志文件中并存储在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();
            }

        }