//
|
// Copyright © 2016年 dahua. All rights reserved.
|
//
|
|
#import "NSObject+LeChange.h"
|
|
int _tDistributionVersion = -1;
|
|
@implementation NSObject (LeChange)
|
|
- (NSString*)retainLog
|
{
|
SEL selector = NSSelectorFromString(@"retainCount");
|
NSMethodSignature * ms = [NSMethodSignature signatureWithObjCTypes:"i@:"];
|
NSInvocation * inv = [NSInvocation invocationWithMethodSignature:ms];
|
[inv setSelector:selector];
|
[inv invokeWithTarget:self];
|
|
NSInteger rtCount = 0;
|
[inv getReturnValue:&rtCount];
|
|
NSString * sDesp = [NSString stringWithFormat:@"Class=%@,retainCount=%ld",NSStringFromClass([self class]),(long)rtCount];
|
return sDesp;
|
}
|
|
@end
|
|
|
inline void NSLog(NSString *format, ...)
|
{
|
|
/// 暂时解决依赖 DHAppConfig
|
if (_tDistributionVersion == -1) {
|
NSDictionary *bundleDic = [[NSBundle mainBundle] infoDictionary];
|
BOOL bDistributionVersion = [bundleDic[@"LCDistributionVersion"] boolValue];
|
_tDistributionVersion = bDistributionVersion ? 1 : 0;
|
}
|
|
if (_tDistributionVersion != 1)
|
{
|
if(format == nil) {
|
return;
|
}
|
|
va_list args;
|
va_start(args,format);
|
NSString *str = [[NSString alloc] initWithFormat:format arguments:args];
|
va_end(args);
|
|
//屏蔽playwindow打印
|
if (str && ![str containsString:@"ShowMultiWindow"]) {
|
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
|
//----------格式,hh与HH的区别:分别表示12小时制,24小时制
|
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //yyyyMMddHHmmss yyyymmddhhmmss
|
formatter.timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];//东八区时间
|
NSDate *datenow = [NSDate date];
|
//----------将nsdate按formatter格式转成nsstring
|
NSString *currentTimeString = [formatter stringFromDate:datenow];
|
|
NSString *string = [NSString stringWithFormat:@"%@:%@", currentTimeString, str];
|
const char *cString = [string cStringUsingEncoding:NSUTF8StringEncoding];
|
printf("LeChange_Log_Redirect🔁🔁:%s\n", cString);
|
}
|
}
|
}
|