我从 2009 年 5 月开始我的 iOS 开发之旅(当时称为 iPhone 开发),我为调试和追踪编写了一个日志工具。我在两个 iOS 应用程序中使用了它们,这给了我很多帮助。今天,我想将它开源。
许可证:MIT
安装
(1) 将 GRLogger.h、GRLogger.m 和许可证添加到您的项目中 (2) 示例 -- 请参考 main.m
#import "GRLogger.h"
int foo()
{
ENTER(@"foo");
RETURN(10, @"foo");
}
int main(int argc, char *argv[])
{
@autoreleasepool {
SETLOGLEVEL(SLLS_ALL);
INFO(@"info");
DBG(@"debug value is %d", 3);
WARN(@"warning");
ERROR(@"error");
FATAL(@"fatal");
LOG(SLL_TINY, @"tiny");
foo();
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
The output is as below:
2012-05-29 01:10:42.859 GRLogger[42610:f803] FILE:main.m LINE:25 [INFO] info
2012-05-29 01:10:42.867 GRLogger[42610:f803] FILE:main.m LINE:26 [DEBUG] debug value is 3
2012-05-29 01:10:42.868 GRLogger[42610:f803] FILE:main.m LINE:27 [WARN] warning
2012-05-29 01:10:42.869 GRLogger[42610:f803] FILE:main.m LINE:28 [ERROR] error
2012-05-29 01:10:42.870 GRLogger[42610:f803] FILE:main.m LINE:29 [FATAL] fatal
2012-05-29 01:10:42.872 GRLogger[42610:f803] FILE:main.m LINE:30 [TINY] tiny
2012-05-29 01:10:42.873 GRLogger[42610:f803] FILE:main.m LINE:17 [ENTER] foo
2012-05-29 01:10:42.874 GRLogger[42610:f803] FILE:main.m LINE:18 [RETURN] foo
文档
(1) SETLOGLEVEL(SLLS_ALL);
typedef enum {
SLLS_ALL = 0,
SLLS_MAJOR = 45,
SLLS_MINOR = 65,
SLLS_NONE = 1000,
SLLS_DEFAULT = SLLS_MAJOR // SLLS_DEFAULT = SLLS_MAJOR
} GRLoggerLevelSetting;
如果您设置的值不是 GRLoggerLevelSetting,则使用 SLLS_DEFAULT 常常我们使用 SLLS_ALL、SLLS_MAJOR(只有 INFO、WARN、ERROR、FATAL)和 SLLS_NONE。
(2) 如果您想关闭 GRLogger,您有两个方法
待办事项: (1) 支持将日志记录到文件中