{"repo":"jenly1314/LogX","free":true,"listed":false,"github":"https://github.com/jenly1314/LogX","clone":"git clone https://github.com/jenly1314/LogX.git","description":":triangular_flag_on_post: LogX 一个轻量而强大的日志框架；好用不解释。","language":"Kotlin","stars":41,"topics":["log","log-printer","logcat","logger","timber","android","kotlin","logging","console","console-log"],"license":"Apache-2.0","category":"mobile-apps","readme_excerpt":"LogX LogX —— 轻量而强大的日志框架，兼具 Timber 的优雅易用与高度扩展性，同时拥有 Logger 般精美的日志格式化输出。 写这个日志框架的主要原因是为了简化维护流程。在我个人的GitHub开源项目中，有一些需要使用日志功能的库。 最初，我使用的是一个自维护日志工具类：LogUtils，当开源项目数量较少时，这种方法还比较有效。 然而，随着开源项目数量的增加，我不得不频繁地复制和维护LogUtils。久而久之，不同开源项目中的LogUtils难免会 出现一些差异，大大增加了维护的难度。因此，我开始考虑更加优雅的解决方案。在经过一段时间的思考和研究后，我决定 结合平时使用的 Timber 和 Logger 这 两个成熟的开源库，取其精华，编写一个新的日志框架，即： LogX 。 类图 从上面的类图可以明确的看出 LogX 内部之间的关系与结构。 引入 Gradle: 1. 在Project的 build.gradle 或 setting.gradle 中添加远程仓库 2. 在Module的 build.gradle 中添加依赖项 使用 快速使用 如果没有特殊的要求，直接使用即可。 LogX 无需初始化，因为 LogX 的默认配置就是个人最推荐的配置。（这也是我写 LogX 的原因之一） 主要的一些方法调用示例如下： 占位符格式化示例如下: 看了上面的基础说明，相信你已经会使用 LogX 了；如果还想了解更多，你可以继续往下看更多详细说明。 详细说明 Logger实现类说明 LogX 中内置实现了一些常用的 Logger ，用于满足基本的开发需求；下面简单概括下各 Logger 实现类的特点与适用场景。 DefaultLogger 特点： 输出日志到 Logcat ，轻量高效，支持日志分级及超长日志自动拆分。 适用场景： 开发调试、高频日志打印，适合快速排查问题。 FileLogger 特点： 持久化日志到文件，支持滚动存储与自动清理旧日志，确保存储空间高效利用。 适用场景： 生产环境问题追踪、离线日志分析。 FileLogger 在持久化日志到文件的同时，也支持同时将日志输出到 Logcat （需根据配置决定）。 CompositeLogger 特点： 组合多个 Logger ，统一分发日志，灵活管理多路输出。 适用场景： 开发与生产环境并行，多维度日志收集，动态调整日志策略。 使用指南 DefaultLogger & FileLogger - 使用方法基本一致 - 区别仅在于配置参数的复杂度（ FileLogger 可配置项更多） - 具体用法可参考 DefaultLogger 的配置示例 下面就以 DefaultLogger 为例，介绍下配置步骤； 一句话概括：通过构建 DefaultLoggerConfig 完成参数配置，实例化 DefaultLogger 后，设置给 LogX 即可生效。 Java配置示例： LogFormat 为v1.2.0新增，这里不过多介绍，下面会有 LogFormat 具体的说明。 Kotlin配置示例： 虽然 Kotlin 也能用 Builder 来创建实例，但使用 Kotlin DSL 更简洁。 这里提供两种 Kotlin DSL 的配置方式，任选一种即可。 或 (v1.3.0新增) 全局配置是否记录日志示例如下： LogX 默认配置就是在debug包下才开启日志记录的，release包默认是关闭日志记录的。 CompositeLogger - 采用组合模式统一管理多个 Logger - 支持多","default_branch":null,"files":null,"tree":[],"storefront":"/r/jenly1314","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/jenly1314/LogX/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}