Как читать logcat непрерывно и записывать во внутренний файл хранилища? - PullRequest
0 голосов
/ 10 октября 2018

Чтение logcat непрерывно и запись во внутреннее хранилище для этого. Я попробовал приведенный ниже код.

public class LogCatTask extends AsyncTask<Void, String, Void> {
    public AtomicBoolean run = new AtomicBoolean(true);

    @Override
    protected Void doInBackground(Void... params) {
        try {

            //create text file in SDCard
            File sdCard = Environment.getExternalStorageDirectory();
            File dir = new File (sdCard.getAbsolutePath() + "/myLogcat");
            dir.mkdirs();
            File file = new File(dir, "logcat.txt");

            Runtime.getRuntime().exec("logcat -c");
            Process process = Runtime.getRuntime().exec("logcat -f "+file);
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            StringBuilder log = new StringBuilder();
            String line = "";
            Log.e("log cat task...","while...run.get()."+run.get());
            while (run.get()) {
                line = bufferedReader.readLine();
                //Log.e("log cat task...","while...out.");
                if (line != null) {
                    Log.e("log cat task...","while....");
                    log.append(line);
                    //publishProgress(log.toString());

                    //to write logcat in text file
                    FileOutputStream fOut = new FileOutputStream(file);
                    OutputStreamWriter osw = new OutputStreamWriter(fOut);

                    // Write the string to the file
                    osw.write(log.toString());
                    osw.flush();
                    osw.close();
                }
                line = null;
                Thread.sleep(10);
                //Log.e("log cat task...","while...out.");
            }
            //Log.e("log cat task...","ouet....while....");
        }
        catch(Exception ex){

        }
        return null;
    }
}

после запуска приведенного выше кода он считывает logcat и записывает в хранилище, но до некоторой части журнала.только он читает. Он не читает континуумы. Как читать непрерывный журнал?

...