标签: lumberjack

使用cocoaLumberjack存储Logfile的位置

我正在使用cocoaLumberjack日志框架进行iOS日志记录.为了将日志存储在文件中,我使用了此代码.

DDFileLogger* fileLogger = [[DDFileLogger alloc] init];
fileLogger.rollingFrequency = 60 * 60 * 24; 
fileLogger.logFileManager.maximumNumberOfLogFiles = 7;

[DDLog addLogger:fileLogger];

DDLogVerbose(@"hello");
NSLog(@"hihihihihi");
Run Code Online (Sandbox Code Playgroud)

我无法找到存储此代码生成的日志文件的确切位置.有人可以帮我解决这个问题吗?

logging objective-c ios lumberjack ddfilelogger

53
推荐指数
7
解决办法
2万
查看次数

CocoaLumberjack的全局日志级别

我在iPhone项目中使用CocoaLumberjack来记录一些信息.

我已经按照入门指南,一切正常,但有一件事让我感到困惑:似乎没有一种优雅的方式来定义整个应用程序的日志级别.为了使它工作,我需要在每个源文件中定义一个常量,如下所示:

static const int ddLogLevel = LOG_LEVEL_VERBOSE;
Run Code Online (Sandbox Code Playgroud)

那么,有没有办法为应用程序定义全局日志级别?

我在这个主题上发现了这篇文章,但我仍然需要在每个文件中添加一个#import ...

logging objective-c ios lumberjack

35
推荐指数
6
解决办法
2万
查看次数

什么可能是"使用未声明的标识符LOG_LEVEL_VERBOSE"消息的原因

我正在尝试配置cocoalumberjack,当我添加ddLogLevelset到LOG_LEVEL_VERBOSEXCode抛出"使用未声明的标识符"错误.这是为什么?怎么避免?

在此输入图像描述

ios lumberjack

15
推荐指数
2
解决办法
8252
查看次数

使用Cocoa Lumberjack日志框架立即刷新日志语句,即NSLog刷新到控制台的方式

许多iOS开发人员已经找到了Cocoa Lumberjack Logging框架来满足简单NSLog语句不需要的需求.它让人想起Java世界中的Log4J.

无论如何,我已经为Lumberjack编写了自己的自定义格式化程序,但我没有看到任何关于如何立即刷新日志语句的文档.

例如,如果我正在浏览调试器并且我点击了一个NSLog()语句,它会立即将日志语句刷新到控制台.这是我想从DDLogVerbose()Lumberjack 的电话中得到的行为.

现在,我回过头来将这些语句更改为NSLog()语句,如果我希望它们在我调试一段代码时立即吐出来.随着伐木工人如此强大,我开始认为有一种方法可以将其配置为毫不拖延地进行冲洗.

有谁知道如何做到这一点?

logging flush nslog ios lumberjack

14
推荐指数
1
解决办法
6342
查看次数

CocoaLumberjack FileLogger记录到多个文件

我正在使用这个CocoaLumberjack框架来记录Objective-C设计中的所有消息.现在我想将所有错误记录到一个文件,将所有其他消息记录到另一个文件.我知道我可以使用格式化程序来过滤这些信息.我在AppDelegate中创建了两个DDFileLogger实例,但是这两个记录器一直写入同一个文件.我想知道是否有一种方法可以指定日志记录目的地,以便两个记录器写入两个不同的文件.

logging objective-c lumberjack

8
推荐指数
1
解决办法
4084
查看次数

CocoaLumberjack错误:找不到符号:_objc_storeStrong

我对iOS开发比较陌生,我正在尝试实现CocoaLumberjack日志记录.

我从https://github.com/robbiehanson/CocoaLumberjack下载了最新的源代码,在我的项目中包含了所需的文件,进行了必要的代码更改,并且得到了下面的运行时链接器错误.

环境是Xcode 4.2 Build 4C199,项目Target设置为Device = iPad,DeploymentTarget = 4.3.该项目最初编写使用保留/释放,所以我离开了原来的来源,不被加入编译器标志"-fobjc弧"为我使用的伐木工人文件:DDFileLogger.m,DDLog.m和DDTTYLogger.m .

控制台输出是:

GNU gdb 6.3.50-20050815 (Apple version gdb-1708) (Fri Sep 16 06:56:50 UTC 2011)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was …
Run Code Online (Sandbox Code Playgroud)

logging linker-errors ios lumberjack

7
推荐指数
2
解决办法
3693
查看次数

Cocoa Lumberjack:如何显示文件和行号?

我正试图为Cocoa Lumberjack找到一种向我展示文件和行号的方法.

在浏览了文档和一些谷歌搜索之后,我发现没有简单的方法可以做到这一点.

有没有办法这样做而不添加自定义格式化程序?

debugging macos objective-c ios lumberjack

7
推荐指数
2
解决办法
3198
查看次数

CocoaLumberjack与Swift - 调用预处理器宏

我开始使用新的编程语言Swift构建一个IOS应用程序.我设法使用CocoaPods并且能够在我的AppDelegate.swift中使用我的CustomLoggerFormatter(Objective-C)成功创建DDTTYLogger并将其附加到记录器.

var customLoggerFormatter = CustomLoggerFormatter()

var consoleLogger: DDTTYLogger = DDTTYLogger.sharedInstance()
consoleLogger.setLogFormatter(customLoggerFormatter)
DDLog.addLogger(consoleLogger)
Run Code Online (Sandbox Code Playgroud)

但问题是,CocoaLumberjack库正在使用预处理器宏来处理记录器方法DDLogVerbose(@"..")

这是在DDLog.h中定义的:

#define DDLogVerbose(frmt, ...) LOG_OBJC_MAYBE(LOG_ASYNC_VERBOSE, LOG_LEVEL_DEF, LOG_FLAG_VERBOSE, 0, frmt, ##__VA_ARGS__)
Run Code Online (Sandbox Code Playgroud)

是否有任何解决方法使预处理器定义在Swift中工作?或者有没有人尝试类似的东西更成功?

logging ios lumberjack swift

7
推荐指数
3
解决办法
6301
查看次数

使用ELK堆栈的最佳Docker日志记录架构

最近我试图找到使用ELK堆栈的最佳Docker日志记录机制.我对公司在生产中使用的最佳工作流程有一些疑问.我们的系统有典型的软件堆栈,包括Tomcat,PostgreSQL,MongoDB,Nginx,RabbitMQ,Couchbase等.截至目前,我们的堆栈在CoreOS集群中运行.请在下面找到我的问题

  1. 使用ELK堆栈,进行日志转发的最佳方法是什么 - 我应该使用Lumberjack吗?我问这个是因为我看过人​​们使用Syslog/Rsyslog将日志转发到logstash的工作流程.
  2. 由于我们所有的软件都是集装箱式的,我应该在所有容器中都包含Log-forwarder吗?我计划这样做,因为我的大多数容器都根据运行状况切换节点,因此我不热衷于将文件系统从容器安装到主机.
  3. 我应该使用redis作为代理来转发日志吗?如果是,为什么?
  4. 编写定义要转发到log-stash的日志格式的log-config文件有多难?

这是一个主观问题,但我确信这是人们很久以前解决的问题,我并不热衷于重新发明轮子.

rsyslog lumberjack docker logstash-forwarder elastic-stack

7
推荐指数
1
解决办法
2499
查看次数

使用filebeat或logstash打开gzip文件

我可能在这里要求太多,我认为它还没有实现,但我的ELK堆栈设置与本教程的工作方式类似(几乎相同):( https://www.digitalocean.com/community/tutorials/how -to-install-elasticsearch-logstash-and-kibana-elk-stack-on-ubuntu-14-04)基本上,我在客户端计算机上安装了文件,并将文件夹中的所有日志文件发送到logstash on服务器电脑.

我想要做的是能够将gzip文件(包含文本文件)和文本文件放在目录中,并且能够将它们全部发送到带有filebeat的logstash.所以我需要filebeat发送一个unziped文件,或者logstash能够查看gzip文件并获取其中的文本文件.
我环顾网络,这似乎还没有实现,但我发现的大多数是日志转发器和logstash而不是filebeat,所以我只是希望有一种方法可以使用filebeat.

我可能只是在这里过于充满希望.如果您不知道这样做的方法,那么我也想知道.

elasticsearch logstash lumberjack logstash-forwarder elastic-stack

7
推荐指数
1
解决办法
6175
查看次数