K9LogPatternFormatter 2.0.0

K9LogPatternFormatter 2.0.0

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最新版本2015年10月

Takanori Ishikawa维护。



  • Takanori Ishikawa

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
    • 有一些预定义的格式
      1. %d{ISO8601} 打印 2014-03-12 14:34:02,781
      2. %d{ISO8601_BASIC} 打印 20140312 143402,781
      3. %d{ABSOLUTE} 打印 14:34:02,781
      4. %d{DATE} 打印 12 Mar 2014 14:34:02,781
      5. %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

要求

  • Mac OS X 10.9
  • iOS 7.0
  • Xcode 7

安装

如果您需要 CocoaLumberjack 的格式化器,请在 Podfile 中

pod "K9LogPatternFormatter/Lumberjack"

或者,您可以从 core 类中获取以编写自己的格式化器

pod "K9LogPatternFormatter/Core"

许可证

MIT 许可证