RLog 1.0.3

RLog 1.0.3

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2018年2月

Georgiy Malyukov维护。



RLog 1.0.3

Objective-C 中的简单高效日志库。

将 RLog 添加到您的项目

源文件

或者,您可以直接将库的所有源文件添加到您的项目中。

  1. 下载最新的代码版本或将存储库作为 Git 子模块添加到您的受 Git 跟踪的项目中。
  2. 在 Xcode 中打开您的项目,然后将所有源文件拖放到您的项目中(使用“产品导航视图”)。如果在项目外解压缩代码存档时询问,请确保选中“复制项目”。
  3. 使用 #import "RLog.h" 将 RLog 库包含到需要的位置。

用法

首先,配置日志类(您可以在应用程序中的任何时间更改此配置)

// indicates whether logged messages should be displayed in a system console
[RLog instance].consoleDisplayMessages = NO; // YES by default
// contains minimal message log level for displaying in a system console
[RLog instance].consoleLogLevel = RL_WARN; // RL_VERBOSE by default

如果显示启用,则满足最小日志级别要求的所有消息将使用当前线程中的标准 NSLog() 函数显示在系统 Xcode 控制台中。

可用日志级别(按重要性排序)

  • RL_INFO(等于 RL_VERBOSERL_ALL)。显示所有消息。仅出于方便而创建的别名。
  • RL_WARN - 警告和更高等级。
  • RL_ERROR - 错误和更高等级。
  • RL_FATAL - 只有临界错误。

请注意,这些级别仅影响系统控制台中的显示。对于其他目的,您应使用过滤(如下文所述)。

接下来,有几个有用的宏可以帮助您记录事件

RLENTRY; // logs empty message, useful for logging methods' entry points
RLINFO(format, ...); // logs info message
RLWARN(format, ...); // logs warning message
RLERROR(format, ...); // logs error message
RLFATAL(format, ...); // logs critical error message

RLog 存储所有消息,包括其创建日期(UTC)、消息、调用方法和日志级别。以后您可以使用这些数据来过滤您的消息。

过滤

您保存的所有日志将存储在内存中。有时您可能需要提取存储的消息以进行进一步处理。

以下声明的方法是第一个

- (NSArray<RLMessage *> *)filterWithBlock:(_Nullable RLFilterBlock)block;

它接受一个可选的过滤块,帮助您过滤存储的消息。此块只有一个类型为 RLMessage 的输入参数,如果消息满足您的过滤要求,则应返回 YES,否则返回 NO。此块是可选的,因此您可以用 nil 传递它以获取所有存储的消息。

保存

当然,您可能希望将日志保存到物理文件中。可以通过调用此方法来完成此操作

- (void)flushToFileAtPath:(NSString *)path usingFilter:(_Nullable RLFilterBlock)block;

可选的过滤器块与上述解释的功能相同。如果将数据写入文件操作成功,那么所有内存中存储的消息将被自动清理。

清理

有时您可能需要在不将其写入文件的情况下清除日志。您可以使用此方法来完成此操作

- (void)clear;

这是一个破坏性操作,不能撤销,使用时请小心。

许可证

MIT