PureeOS 2.0.1.OS5

PureeOS 2.0.1.OS5

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布上次发布2018年1月

Vitor Oliveira 维护。



PureeOS 2.0.1.OS5

  • 作者
  • Tomohiro Moro

Puree

Version
License
Platform
Travis

描述

Puree 是一个日志收集器,它提供了以下一些功能:

  • 过滤:在发送日志之前中断进程。您可以为日志添加常见参数或日志采样。
  • 缓冲:将日志存储到缓冲区中,直到日志被发送。
  • 批处理:通过一次请求发送日志。
  • 重试:在发送日志失败后,自动等待一段时间后重试发送日志。

Puree 帮助您统一您的日志基础设施。

用法

配置日志记录器

// Swift

let configuration = PURLoggerConfiguration.default()
configuration.filterSettings = [
    PURFilterSetting(filter: ActivityFilter.self, tagPattern: "activity.**"),
    // filter settings ...
]
configuration.outputSettings = [
    PUROutputSetting(output: ConsoleOutput.self,   tagPattern: "activity.**"),
    PUROutputSetting(output: ConsoleOutput.self,   tagPattern: "pv.**"),
    PUROutputSetting(output: LogServerOutput.self, tagPattern: "pv.**", settings:[PURBufferedOutputSettingsFlushIntervalKey: 10]),
    // output settings ...
]

let logger = PURLogger(configuration: configuration)
// Objective-C

PURLoggerConfiguration *configuration = [PURLoggerConfiguration defaultConfiguration];
configuration.filterSettings = @[
    [[PURFilterSetting alloc] initWithFilter:[ActivityFilter class]
                                  tagPattern:@"activity.**"],
    // filter settings ...
];
configuration.outputSettings = @[
    [[PUROutputSetting alloc] initWithOutput:[ConsoleOutput class]
                                  tagPattern:@"activity.**"],
    [[PUROutputSetting alloc] initWithOutput:[ConsoleOutput class]
                                  tagPattern:@"pv.**"],
    [[PUROutputSetting alloc] initWithOutput:[LogServerOutput class]
                                  tagPattern:@"pv.**"
                                  settings:@{PURBufferedOutputSettingsFlushIntervalKey: @10}],
    // output settings ...
];

PURLogger *logger = [[PURLogger alloc] initWithConfiguration:configuration];

预期结果

tag name                 [ Filter Plugin ]  -> [ Output Plugin ]
-----------------------------------------------------------------
activity.recipe.view  -> [ ActivityFilter ] -> [ ConsoleOutput ]
activity.bargain.view -> [ ActivityFilter ] -> [ ConsoleOutput ]
pv.recipe_detail      -> ( no filter )      -> [ ConsoleOutput ], [ LogServerOutput(FlushInterval:10sec) ]
event.special         -> ( no filter )      -> ( no output )

发布日志

在任意的时间内发布日志对象(anyObject)。

// Swift

logger.post(["recipe_id": "123"], tag: "pv.recipe_detail")
// Objective-C

[logger postLog:@{@"recipe_id": @"123"} tag: @"pv.recipe_detail"]

插件

您可以创建插件。请参阅 创建插件

标签系统

标签

标签由点 . 分隔的多个术语组成。
例如 activity.recipe.viewpv.recipe_detail
您可以自由指定日志的标签。

模式

Filter、Output 和 BufferedOutput 插件应用于匹配标签的日志。
您可以为插件反应规则指定标签模式。

简单模式

模式 aaa.bbb 匹配标签 aaa.bbb,不匹配标签 aaa.ccc(完美匹配)。

通配符

模式 aaa.* 匹配标签 aaa.bbbaaa.ccc。不匹配标签 aaaaaa.bbb.ccc(单个术语)。

模式 aaa.** 匹配标签 aaaaaa.bbbaaa.bbb.ccc。不匹配标签 xxx.yyy.zzz(零个或多个术语)。

安装

Puree 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod "Puree"

作者

Tomohiro Moro,[email protected]

许可证

Puree 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。