android 日志保存到文件

在项目中药将日志保存下来,常用的方法是使用android的logcat来进行保存日志,虽然这个很好用,只要从网上经相应的service拷到项目中就可以用来,一开始我也是这样做的,在日志少的情况下,也不错,但是当日志多的时候,就不是很给力,不能定位到某一个方法。想到,在WEB项目中常用logback来当日志系统,非常的方便能够定位到某一个方法,非常的人性化,就Google一下有没有android平台上的移植,一查还真有,就拿来用了,非常感谢!!

用着就是简单的 配置一下就好了。


Android ,我们可以通过使用 `android.util.Log` 类来记录日志信息。要将日志保存文件,您可以使用以下步骤: 1. 创建一个文件夹来存储日志文件,例如 `/sdcard/YourAppLogs/`。 2. 在应用程序启动时,检查是否需要创建当天的日志文件。如果需要,创建一个以当前日期为名称的文件,例如 `2022-01-01.log`。 3. 在 `android.util.Log` 设置自定义 `Log` 输出,这样您可以将日志写入文件而不是控制台。 4. 在应用程序运行期间,将日志写入已创建的日志文件。 以下是一个简单的示例代码,它记录日志并将其保存文件: ```java import android.os.Environment; import android.util.Log; import java.io.File; import java.io.FileOutputStream; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; public class Logger { private static final String TAG = "YourTag"; private static final String LOG_DIR = Environment.getExternalStorageDirectory() + "/YourAppLogs/"; private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()); public static void init() { File logDir = new File(LOG_DIR); if (!logDir.exists()) { logDir.mkdirs(); } String logFileName = DATE_FORMAT.format(new Date()) + ".log"; File logFile = new File(LOG_DIR, logFileName); if (!logFile.exists()) { try { logFile.createNewFile(); } catch (Exception e) { e.printStackTrace(); } } } public static void d(String message) { Log.d(TAG, message); writeToFile("DEBUG", message); } public static void e(String message, Throwable throwable) { Log.e(TAG, message, throwable); writeToFile("ERROR", message + "\n" + Log.getStackTraceString(throwable)); } private static void writeToFile(String level, String message) { String logFileName = DATE_FORMAT.format(new Date()) + ".log"; File logFile = new File(LOG_DIR, logFileName); try { String logMessage = String.format("%s %s %s: %s\n", DATE_FORMAT.format(new Date()), new SimpleDateFormat("HH:mm:ss", Locale.getDefault()).format(new Date()), level, message); FileOutputStream outputStream = new FileOutputStream(logFile, true); outputStream.write(logMessage.getBytes()); outputStream.flush(); outputStream.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` 在应用程序启动时,您可以调用 `Logger.init()` 来创建日志文件。然后,在应用程序记录日志时,您可以使用 `Logger.d(message)` 或 `Logger.e(message, throwable)` 来记录日志日志消息将被写入到已创建的日志文件
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值