Android(安卓)开发技巧之Log写入文件
16lz
2021-01-26
在Android开发的时候经常会遇到手机offline,影响日志的查看与分析。为此,我写了一个简单的类用于将日志写入文件中,便于以后调试的时候可以拿来使用:
package org.test;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.Writer;import java.text.SimpleDateFormat;import java.util.Date;public class LogWriter {private static LogWriter mLogWriter;private static String mPath;private static Writer mWriter;private static SimpleDateFormat df;private LogWriter(String file_path) {this.mPath = file_path;this.mWriter = null;}public static LogWriter open(String file_path) throws IOException {if (mLogWriter == null) {mLogWriter = new LogWriter(file_path);}File mFile = new File(mPath);mWriter = new BufferedWriter(new FileWriter(mPath), 2048);df = new SimpleDateFormat("[yy-MM-dd hh:mm:ss]: ");return mLogWriter;}public void close() throws IOException {mWriter.close();}public void print(String log) throws IOException {mWriter.write(df.format(new Date()));mWriter.write(log);mWriter.write("\n");mWriter.flush();}public void print(Class cls, String log) throws IOException { //如果还想看是在哪个类里可以用这个方法mWriter.write(df.format(new Date()));mWriter.write(cls.getSimpleName() + " ");mWriter.write(log);mWriter.write("\n");mWriter.flush();}}感觉在整个程序中进行写日志操作之后用到一个实例,所以我用了单例模式
使用这个类的代码:
private LogWriter mLogWriter; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); File logf = new File(Environment.getExternalStorageDirectory() + File.separator + "DemoLog.txt"); try {mLogWriter = LogWriter.open(logf.getAbsolutePath());} catch (IOException e) {// TODO Auto-generated catch blockLog.d(tag, e.getMessage());} log("onCreate()"); } public void log(String msg) { Log.d(tag, msg); try {mLogWriter.print(AlarmManagerDemo.class, msg);} catch (IOException e) {// TODO Auto-generated catch blockLog.d(tag, e.getMessage());} }
更多相关文章
- Android(安卓)多线程保证操作同步(同步锁的俩种)
- Mac下完全卸载干净Android(安卓)Studio的方法
- Android(安卓)怎么获取手机端的ip地址
- Android(安卓)百度地图地位指针
- Android与H5页面的互调
- Android(安卓)判断sd卡和sim卡是否可用
- Android模拟器上网的设置
- 图书馆一游
- 理解Android的handler机制--从应用到原理再到实践