1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
//
// SDLLogModel.m
// SmartDeviceLink-iOS
//
// Created by Joel Fischer on 2/27/17.
// Copyright © 2017 smartdevicelink. All rights reserved.
//
#import "SDLLogModel.h"
NS_ASSUME_NONNULL_BEGIN
@implementation SDLLogModel
- (instancetype)initWithMessage:(NSString *)message
timestamp:(NSDate *)timestamp
level:(SDLLogLevel)level
fileName:(NSString *)fileName
moduleName:(nullable NSString *)moduleName
functionName:(NSString *)functionName
line:(NSInteger)line
queueLabel:(NSString *)queueLabel {
self = [super init];
if (!self) { return nil; }
_message = message;
_timestamp = timestamp;
_level = level;
_fileName = fileName;
_moduleName = moduleName ? moduleName : @"";
_functionName = functionName;
_line = line;
_queueLabel = queueLabel;
return self;
}
#pragma mark - Setters / Getters
- (void)setModuleName:(nullable NSString *)moduleName {
_moduleName = moduleName ? moduleName : @"";
}
#pragma mark - NSCopying
- (id)copyWithZone:(nullable NSZone *)zone {
return [[self copyWithZone:zone] initWithMessage:_message timestamp:_timestamp level:_level fileName:_fileName moduleName:_moduleName functionName:_functionName line:_line queueLabel:_queueLabel];
}
#pragma mark - Description
- (NSString *)description {
return [NSString stringWithFormat:@"SDLLogModel (%@): timestamp: %@, file name: %@, module: %@, function: %@, line: %ld, queue: %@, message: %@", [self sdl_stringForLogLevel:self.level], self.timestamp, self.fileName, self.moduleName, self.functionName, self.line, self.queueLabel, self.message];
}
- (NSString *)sdl_stringForLogLevel:(SDLLogLevel)level {
switch (level) {
case SDLLogLevelOff: return @"Off";
case SDLLogLevelVerbose: return @"Verbose";
case SDLLogLevelDebug: return @"Debug";
case SDLLogLevelWarning: return @"Warning";
case SDLLogLevelError: return @"Error";
case SDLLogLevelDefault: return @"Default";
}
}
@end
NS_ASSUME_NONNULL_END
|