监听Log 并写入文件
来源:互联网 发布:ubuntu编译安装php7.1 编辑:程序博客网 时间:2024/04/28 11:15
public class NoteLog {//Log信息 保存路径private static final String FILE_PATH = "/sdcard/log/";private static final String LOG_PATH = FILE_PATH + "log.txt";private static final int LOG_FILE_MAX_SIZE = 50;//50 KBstatic Thread readLogthread;static BufferedReader reader = null;static Boolean isStop = false;static FileOutputStream out = null;public static void startNoteLog() {startNoteLogThread();}public static void stopNoteLog() {isStop = true;closeLogReader();if (readLogthread != null) {readLogthread.interrupt();}}private static void startNoteLogThread() {/** 开启线程用于监听log输出的信息 **/readLogthread = new Thread() {@Overridepublic void run() {try {readLogcatInfo();} catch (IOException e) {e.printStackTrace();} finally {closeLogReader();}}};readLogthread.start();}private static void readLogcatInfo() throws IOException {Process mLogcatProc = null;String line = "";// 清除LOGRuntime.getRuntime().exec("logcat -c");ArrayList<String> commandLine = new ArrayList<String>();commandLine.add("logcat");commandLine.add("-v");commandLine.add("time");commandLine.add("-s");commandLine.add("AndroidRuntime:e"); // *表示所有TAG(*:e)mLogcatProc = Runtime.getRuntime().exec(commandLine.toArray(new String[commandLine.size()]));reader = new BufferedReader(new InputStreamReader(mLogcatProc.getInputStream()));while (!isStop && (line = reader.readLine()) != null) {write(line);}}private static void write(String data) {try {File file = new File(FILE_PATH);if (!file.exists()) {file.mkdir();}File logFile = new File(LOG_PATH);if (logFile.exists()) {if (logFile.length() > 1024 * LOG_FILE_MAX_SIZE) {logFile.delete();}}out = new FileOutputStream(LOG_PATH, true);if (data != null && !data.contains("beginning")) {out.write(data.getBytes());}} catch (IOException e) {e.printStackTrace();} finally {if (out != null) {try {out.close();out = null;} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}private static void closeLogReader() {try {if (out != null) {out.close();out = null;}if (reader != null) {reader.close();reader = null;}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
在manifest.xml中增加权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_LOGS" />- 监听Log 并写入文件
- log文件的读并写入.text文件
- 如何控制工程中的LOG信息,并写入文件
- unity log写入文件
- Android将Log写入文件
- 实时监听文件写入kafka
- Android笔记之开发中处理异常并写入本地log文件
- 文件拷贝并监听
- Android 开发技巧之Log写入文件
- ASP.NET log写入txt文件
- ios 将Log信息写入文件
- UE4--Log写入到单独文件中
- magento禁止LOG,写入文件和写入数据库表。
- 监听、接收mq消息、写入xml文件
- 使用 ./a.out > log.txt 将log写入文件
- PHP如何将log信息写入服务器中的log文件
- yii2 日志操作(log)以及写入不同的log文件
- 文件上传并写入数据库
- poj 1274 The Perfect Stall (Hungary Very good! 入门)
- Spring的IOC原理
- PHP 操作 Zip
- cocos2D 打地鼠游戏
- 高斯消元法(Gauss Elimination) 分析 & 题解 & 模板——czyuan原创
- 监听Log 并写入文件
- 微软推超酷应用on{x} 能远程控制Android手机
- 2012.6.6文件操作,大文件传输
- 暑期训练第一天
- PHP 生成随机数 字符串
- html 两个div并列显示
- html 两个div并列显示
- 一不小心把Eclipse中的项目给误删了
- mysql int unsigned负数问题