mirror of
				https://github.com/DKJone/DKWechatHelper.git
				synced 2025-11-04 10:26:09 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			54 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
// QGVAPLogger.m
 | 
						|
// Tencent is pleased to support the open source community by making vap available.
 | 
						|
//
 | 
						|
// Copyright (C) 2020 THL A29 Limited, a Tencent company.  All rights reserved.
 | 
						|
//
 | 
						|
// Licensed under the MIT License (the "License"); you may not use this file except in
 | 
						|
// compliance with the License. You may obtain a copy of the License at
 | 
						|
//
 | 
						|
// http://opensource.org/licenses/MIT
 | 
						|
//
 | 
						|
// Unless required by applicable law or agreed to in writing, software distributed under the License is
 | 
						|
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
 | 
						|
// either express or implied. See the License for the specific language governing permissions and
 | 
						|
// limitations under the License.
 | 
						|
 | 
						|
#import "QGVAPLogger.h"
 | 
						|
 | 
						|
QGVAPLoggerFunc external_VAP_Logger;
 | 
						|
 | 
						|
@implementation QGVAPLogger
 | 
						|
 | 
						|
#pragma mark - Extenral log
 | 
						|
 | 
						|
void internal_VAP_Logger_handler(VAPLogLevel level, const char* file, int line, const char* func, NSString *module, NSString *format, ...) {
 | 
						|
    
 | 
						|
#ifdef DEBUG
 | 
						|
    va_list arg_list;
 | 
						|
    va_start (arg_list, format);
 | 
						|
    NSString *formattedString = [[NSString alloc] initWithFormat:format arguments:arg_list];
 | 
						|
    va_end(arg_list);
 | 
						|
    file = [NSString stringWithUTF8String:file].lastPathComponent.UTF8String;
 | 
						|
    NSLog(@"<%@> %s(%@):%s [%@] - %@",@(level), file, @(line), func, module, formattedString);
 | 
						|
#endif
 | 
						|
}
 | 
						|
 | 
						|
+ (void)registerExternalLog:(QGVAPLoggerFunc)externalLog {
 | 
						|
    external_VAP_Logger = externalLog;
 | 
						|
}
 | 
						|
 | 
						|
+ (void)log:(VAPLogLevel)level file:(NSString *)file line:(NSInteger)line func:(NSString *)func module:(NSString *)module message:(NSString *)message {
 | 
						|
    
 | 
						|
    if ([message containsString:@"%"]) {
 | 
						|
        //此处是为了兼容%进入formmat之后的crash风险
 | 
						|
        [message stringByReplacingOccurrencesOfString:@"%" withString:@""];
 | 
						|
    }
 | 
						|
    if (external_VAP_Logger) {
 | 
						|
        external_VAP_Logger(level, file.UTF8String, (int)line, func.UTF8String, module, message);
 | 
						|
    } else {
 | 
						|
        internal_VAP_Logger_handler(level, file.UTF8String, (int)line, func.UTF8String, module, message);
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
@end
 |