MCGraylog 是一个用于将日志记录到 Graylog2 服务器或任何其他能够解析 GELF 的服务的 Cocoa C 库。
MCGraylog 是异步和并发的,因此您在记录日志时不需要担心阻塞;但是,在某个东西被记录和它显示在 Graylog 中之间可能会有轻微的延迟。
#import <Foundation/Foundation.h>
#import <MCGraylog.h>
int
main(int argc, char** argv)
{
// have to initialize some state first
int init_error = graylog_init("localhost", "12201", GraylogLogLevelDebug);
if (init_error)
return -1;
// the easiest way to log is using the macros
GRAYLOG_NOTICE(@"test_app", @"My first test message");
// macros accept format strings, if you want to give more detailed messages
GRAYLOG_DEBUG(@"test_app", @"Test app has PID of %d", getpid());
// alternatively, you can log a dictionary of additional information
// as long as that dictionary can be serialized to JSON
graylog_log(GraylogLogLevelEmergency,
@"test_app",
@"extra information",
@{
@"userInfo": @{ @"username": @"ferrous" }
});
// when you are done with MCGraylog, you can optionally shut it down
graylog_deinit();
}
完整的 API 文档在 MCGraylog.h
中。为了测试,可以更容易地设置 Logstash,它可以解析 GELF,而不是设置 Graylog 进行测试。
我们使用 Logstash 测试 MCGraylog,因此您可以根据我们的测试配置(文件)快速开始。
参见 {file:CONTRIBUTING.markdown}
版权(c)2013,Marketcircle Inc. 保留所有权利。
在不违反以下条件的情况下,允许重新分发和使用源代码和二进制形式,无论是否修改
本软件由版权所有者和贡献者提供,“本软件原样”以及任何明示或暗示的保证,包括但不限于对适销性和针对特定目的的适用性的暗示保证,均予以排除。在任何情况下,Marketcircle Inc. 均不对任何直接、间接、偶然、特殊、示范性或后果性损害(包括但不限于获取替代商品或服务的费用、使用、数据或利润损失;或业务中断)承担责任,无论该损害是否由于本软件的使用或本软件的任何部分的使用(即使是被告知了这种损害的可能性)而引起,无论是在合同、严格责任还是因侵权(包括疏忽或本能)而引起。