K9LogPatternFormatter 是一个灵活的日志消息格式化工具,可使用模式字符串进行配置(受 Log4j PatternLayout 启发)。它包括用于 CocoaLumberjack 的格式化器实现。为其他框架编写新的格式化器也很容易。
#import <CocoaLumberjack/CocoaLumberjack.h>
#import <K9LogPatternFormatter/K9LogLumberjackPatternFormatter.h>
...
id<DDLogger> consoleLogger = [DDTTYLogger sharedInstance];
consoleLogger.logFormatter = [[K9LogLumberjackPatternFormatter alloc] initWithPattern:@"%.1p: %m"];
[DDLog addLogger:consoleLogger];
支持的格式
%d{pattern}
使用 NSDateFormatter
格式化的时间戳%d{HH':'mm':'ss}
打印 14:34:02
%d{ISO8601}
打印 2014-03-12 14:34:02,781
%d{ISO8601_BASIC}
打印 20140312 143402,781
%d{ABSOLUTE}
打印 14:34:02,781
%d{DATE}
打印 12 Mar 2014 14:34:02,781
%d{COMPACT}
打印 20140312143402781
ISO8601
。%m
消息%p
日志级别%F
文件名(不包含扩展名)%l
文件路径%L
行号%M
函数或方法名%%
单个百分号('%'
)也支持最小/最大宽度修饰符
%20m
左侧用空格填充,最小宽度为20%-5m
右侧用空格填充,最小宽度为5%.10m
如果消息长度超过10,则截断%-5.10m
右侧用空格填充,最小:5,最大:10例如,如果转换模式为 @"[%-5p] %d{HH':'mm':'ss} %m"
,则会产生以下输出
[DEBUG] 00:45:20 Message1
[WARN ] 00:45:21 Message2
@"%.1p: %m at %F:%L"
会产生
D: Message1 at File1:15
W: Message2 at File2:32
如果您需要 CocoaLumberjack 的格式化器,请在 Podfile 中
pod "K9LogPatternFormatter/Lumberjack"
或者,您可以从 core 类中获取以编写自己的格式化器
pod "K9LogPatternFormatter/Core"
MIT 许可证