Coolog 0.3.2

Coolog 0.3.2

Yao Li 维护。



Coolog 0.3.2

  • yao.li

Coolog

Coolog 是一款适用于 iOS 的可扩展和灵活的日志框架。它提供了一个可以替代 xcode 控制台的浏览器日志工具。

CI Status Version License Platform

特性

  • 简单 Coolog 使用简单。我们尽可能简化了 Coolog 的设置,还提供了一些简化版的常用方法。

  • 灵活 Coolog 提供多种日志方法(控制台、NSLog 和文件)和日志级别。

  • 可扩展 您甚至可以自定义自己的日志记录器和格式化器,它们是日志驱动程序的组件。然后您自定义的日志驱动程序也可以添加到日志引擎中。在自定义的日志记录器中做您想做的事情。

  • Web 浏览器工具 Coolog 提供了一个 web 浏览器工具,使得调试变得容易。

BrowserTool

安装

cocoapods

pod 'Coolog'

架构

Architecture

使用说明

设置

[[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版本

作者

李耀,[email protected]

感谢

Coolog 在您的手机上启动WebSocket服务器以发送日志数据到浏览器。我们使用PocketSocket构建了此服务器。特别感谢PocketSocket及其贡献者。

许可证

Coolog可在MIT许可证下提供。有关更多信息,请参阅LICENSE文件。