MegaDiablo

Четверг, 25.04.2024, 18:51
Приветствую Вас Гость

Регистрация
Вход

Каталог статей


Главная » Статьи » Программирование » Android

Android save LogCat
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.regex.Pattern;

import android.content.Context;
import android.text.TextUtils;
import android.util.Log;

public class LogDumper {
        private Prefs mPrefs;

        public LogDumper(Context context) {
                mPrefs = new Prefs(context);
        }

        public String dump(boolean html) {
                StringBuilder sb = new StringBuilder();
                BufferedReader br = null;
                Process p = null;

                try {
                        p = Runtime.getRuntime().exec(
                                        new String[] { "logcat", "-d", "-v",
                                                        mPrefs.getFormat().getValue(), "-b",
                                                        mPrefs.getBuffer().getValue(),
                                                        "*:" + mPrefs.getLevel() });

                        br = new BufferedReader(new InputStreamReader(p.getInputStream()),
                                        1024);

                        String line;
                        Pattern filterPattern = mPrefs.getFilterPattern();
                        Format format = mPrefs.getFormat();

                        Level lastLevel = Level.V;

                        while ((line = br.readLine()) != null) {
                                if (filterPattern != null
                                                && !filterPattern.matcher(line).find()) {
                                        continue;
                                }

                                if (!html) {
                                        sb.append(line);
                                        sb.append('\n');
                                } else {
                                        Level level = format.getLevel(line);
                                        if (level == null) {
                                                level = lastLevel;
                                        } else {
                                                lastLevel = level;
                                        }
                                        sb.append("");
                                        sb.append(TextUtils.htmlEncode(line));
                                        sb.append("
\n");                                 }                         }                         String s = sb.toString();                         return s;                 } catch (IOException e) {                         Log.e("alogcat", "error reading log", e);                         return null;                 } finally {                         if (br != null) {                                 try {                                         br.close();                                 } catch (IOException e) {                                         Log.e("alogcat", "error closing stream", e);                                 }                         }                         if (p != null) {                                 p.destroy();                         }                 }         } }
Категория: Android | Добавил: MegaDiablo (30.06.2011)
Просмотров: 2277 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Меню сайта
Категории раздела
Android [4]
Web [2]
Java [1]
JavaScript [1]
Форма входа
Поиск
Наш опрос
Оцените мой сайт
Всего ответов: 24
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0