Coolog
Coolog 是一款适用于 iOS 的可扩展和灵活的日志框架。它提供了一个可以替代 xcode 控制台的浏览器日志工具。
特性
-
简单 Coolog 使用简单。我们尽可能简化了 Coolog 的设置,还提供了一些简化版的常用方法。
-
灵活 Coolog 提供多种日志方法(控制台、NSLog 和文件)和日志级别。
-
可扩展 您甚至可以自定义自己的日志记录器和格式化器,它们是日志驱动程序的组件。然后您自定义的日志驱动程序也可以添加到日志引擎中。在自定义的日志记录器中做您想做的事情。
-
Web 浏览器工具 Coolog 提供了一个 web 浏览器工具,使得调试变得容易。
安装
cocoapods
pod 'Coolog'
架构
使用说明
设置
[[COLLogManager sharedInstance] setup];
[[COLLogManager sharedInstance] enableFileLog]; // open file log
[[COLLogManager sharedInstance] enableConsoleLog]; // open xcode console log
// [[COLLogManager sharedInstance] enableNSLog];
#ifdef DEBUG
[COLLogManager sharedInstance].level = COLLogLevelAll;
#else
[COLLogManager sharedInstance].level = COLLogLevelInfo;
#endif
日志
CLogError(@"tag", @"%@", @"log content");
CLogWarning(@"tag", @"%@", @"log content");
CLogInfo(@"tag", @"%@", @"log content");
CLogDefault(@"tag", @"%@", @"log content");
CLogDebug(@"tag", @"%@", @"log content");
网络浏览器工具
[[COLLogManager sharedInstance] enableRemoteConsole];
确保您的PC和手机在同一个Wi-Fi网络下。打开您的网络浏览器,访问[http://coolog.oss-cn-hangzhou.aliyuncs.com/index.html?host=ws://YourPhoneIPAddr:9001/coolog]
高级
以下部分将介绍如何自定义自己的记录器。您可以按照以下3个步骤进行。
- 步骤1:实现自己的记录器。
#import "COLLogger.h"
@interface MyLogger : NSObject <COLLogger>
@end
#import "MyLogger.h"
#import <os/log.h>
@implementation MyLogger
@synthesize formatterClass = _formatterClass;
+ (instancetype)logger {
return [[MyLogger alloc] init];
}
// This is your own log method. It will be called by log engine.
- (void)log:(NSString *)logString {
//For example, here below uses os_log as its implementation.
os_log(OS_LOG_DEFAULT, "%{public}s", [logString UTF8String]);
}
@end
- 步骤2:实现自己的格式化器。
#import "COLLogFormatter.h"
@interface MyLogFormatter : NSObject <COLFormatable>
@end
#import "MyLogFormatter.h"
@implementation MyLogFormatter
// The log's format depends on this method.
- (NSString *)completeLogWithType:(COLLogType)type tag:(NSString *)tag message:(NSString *)message date:(NSDate *)date {
return [NSString stringWithFormat:@"tag=[%@], type=[%zd], message=[%@], date=[%@]", tag, type, message, date];
}
@end
- 步骤3:将您的记录器添加到日志引擎。
COLLoggerDriver *myDriver = [[COLLoggerDriver alloc] initWithLogger:[MyLogger logger]
formatter:[[MyLogFormatter alloc] init]
level:COLLogLevelInfo];
[[COLLogManager sharedInstance].logEngine addDriver:myDriver];
示例
要运行示例项目,请首先从示例目录克隆仓库,然后运行pod install
。
待办事项
- 浏览器工具UI
- 性能
- 单元测试
- Swift版本
作者
感谢
Coolog 在您的手机上启动WebSocket服务器以发送日志数据到浏览器。我们使用PocketSocket构建了此服务器。特别感谢PocketSocket及其贡献者。
许可证
Coolog可在MIT许可证下提供。有关更多信息,请参阅LICENSE文件。