123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- //
- // QNLogUtil.m
- // QiniuSDK
- //
- // Created by yangsen on 2020/12/25.
- // Copyright © 2020 Qiniu. All rights reserved.
- //
- #import "QNLogUtil.h"
- #if DEBUG
- static QNLogLevel _level = QNLogLevelError;
- #else
- static QNLogLevel _level = QNLogLevelNone;
- #endif
- static BOOL _enableDate = false;
- static BOOL _enableFile = true;
- static BOOL _enableFunction = false;
- @implementation QNLogUtil
- + (void)setLogLevel:(QNLogLevel)level {
- _level = level < 0 ? 0 : level;
- }
- + (void)enableLogDate:(BOOL)enable {
- _enableDate = enable;
- }
- + (void)enableLogFile:(BOOL)enable {
- _enableFile = enable;
- }
- + (void)enableLogFunction:(BOOL)enable {
- _enableFunction = enable;
- }
- + (void)log:(QNLogLevel)level
- file:(const char *)file
- function:(const char *)function
- line:(NSUInteger)line
- format:(NSString *)format, ... {
-
- if (!format || level > _level) {
- return;
- }
-
- va_list args;
- va_start(args, format);
- NSString *message = [[NSString alloc] initWithFormat:format arguments:args];
- va_end(args);
-
- NSString *fileName = @"";
- if (_enableFile) {
- fileName = [NSString stringWithFormat:@"%s", file];
- if ([fileName containsString:@"/"]) {
- fileName = [fileName componentsSeparatedByString:@"/"].lastObject;
- }
- }
-
- NSString *functionName = @"";
- if (_enableFunction) {
- functionName = [NSString stringWithFormat:@"->%s", function];
- }
-
- NSString *lineNumber = [NSString stringWithFormat:@"->%ld", line];
-
- NSString *date = @"";
- if (_enableDate) {
- date = [NSString stringWithFormat:@"%@", [NSDate date]];
- if ([date length] > 20) {
- date = [date substringToIndex:19];
- }
- }
-
- NSThread *thread = [NSThread currentThread];
- NSString *levelString = @[@"N", @"E", @"W", @"I", @"D", @"V"][level%6];
- message = [NSString stringWithFormat:@"%@[%@] %@ %@%@%@ %@", date, levelString, thread, fileName, functionName, lineNumber, message];
- NSLog(@"%@", message);
- }
- @end
|