问题标签 [cocoalumberjack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1216 浏览

objective-c - 将项目移动到快速桥接项目后,“LOG_INFO”宏重新定义了警告

我收到了几个这样的警告:

警告抱怨 Projet-Bridging-Header.h 中的 DDLog.h

我该如何解决这个问题?

0 投票
2 回答
602 浏览

ios - CocoaLumberjack pod install 中缺少 libPoads.a 文件

我正在尝试CocoaLumberjack使用pod install. 安装成功完成,但libPods.a我的项目中缺少文件。如果没有这个 lib 文件,我会收到以下错误,

我不确定为什么这个文件丢失了我找不到任何解决方案。任何帮助,将不胜感激。谢谢是提前。

0 投票
0 回答
110 浏览

cocoalumberjack - macosx 10.10 cocoalumberjack 链接器错误

我使用 pod 将 cocoalumberjack 安装到我的 macosx 项目中。这是错误消息的输出。

0 投票
1 回答
514 浏览

objective-c - CocoaLumberjack:如何将自定义数据字段存储为日志消息的一部分?

这是我的用例:

我正在使用 CocoaLumberjack 在我的应用程序中记录数据。我有六个不同的严重程度。有些数据是微不足道的(严重性 6),有些则不是(严重性 1)。我有两个“记录器”,这样所有数据都被记录到控制台,所有数据也被发送到 API 进行存储。API 接受 JSON 格式的日志消息。我有将日志发送到 API 的代码(自定义DDFileLoggerManager)。到目前为止,我一直在使用自定义DDLogFormatter将我的日志消息转换为 JSON 对象,然后由 DDFileLogger 写入磁盘。到目前为止,这种自定义格式仅由文件记录器使用,因此控制台消息仍然具有相当的可读性。(我不一定想将数千个 JSON 对象传送到控制台。)到目前为止,整个系统一直在完美运行。

这是问题所在:

对于发送到 API 服务器的日志数据版本,有时我还需要提交数据统计信息作为日志消息的一部分。我需要能够将键值对附加到日志消息中。我的 JSON 对象最终将如下所示:

最后,问题

如何让 CocoaLumberjack 允许我将任意键值数据存储为日志记录的一部分,然后在进行自定义格式化时检索它?

到目前为止,我提出的唯一解决方案是创建一个自定义函数,用于满足我所有的日志记录需求。该函数将接受一个数据参数 ( NSDictionary) 并预先完成所有 JSON 化:

我将是第一个承认这是一个糟糕的解决方案的人:

  • 自从实现它以来,我不得不关闭到控制台的输出,因为现在记录的所有内容都是一个大而笨重的 JSON 对象,其中包含我不想输出到控制台的各种数据。
  • 由于我的严重性级别现在在 JSON 对象内部,因此我不再使用 CocoaLumberjack logLevel 概念。我的记录器将始终设置为“详细”。因此,我完全摆脱了使用日志库的最大好处之一。

有没有人对我有更优雅的解决方案?在一个完美的世界中,会有这样一个函数:DDLogVerboseWithData(*someObject, @"User logged in.");然后该数据将作为 DDLogMessage 的一部分存储,并且可以通过自定义格式化程序访问。

0 投票
1 回答
131 浏览

ios - 使用 Cocoapdos 的 CocoaLumberjack 配置

我正在使用 Cocoapods 并尝试将 CocoaLumberjack 库配置为仅用于 Debug 构建配置。

我想要发生的是,当我为发布而构建时,CocoaLumberjack 库没有被编译并且所有的日志语句都被忽略了。

能够使用 podfile 中的以下语句将 CocoaLumberjack pod 配置为不包含在“发布”中:

然而,所有的日志语句最终都会变成错误,因为它们的来源无法找到。

所以想知道是否可以只使用 CocoaLumberjack 进行调试构建配置,并且在构建发布时,就好像库和日志语句都不存在一样。

欢迎提出意见和建议。

0 投票
1 回答
252 浏览

ios - 由于 CocoaLumberjack 子规范导致的 Pod 规范 lint 错误

一周前,我将 MyApp 推送到了我的私人 cocoapod 上,没有任何问题。在此期间,我没有用 CocoaLumberjack 更新任何内容。

我的 podspec 包含:

这是命令 && 错误:

该文件的第 85 行是:

它以前一直在工作。我不知道发生了什么变化,它现在不起作用。

0 投票
3 回答
465 浏览

objective-c - CocoaLumberjack 的日志级别切换到详细

我正在使用CocoaLumberjack 日志框架2.0.0 进行不同级别的日志记录。在我的 Prefix.pch 中(我知道这个文件已被弃用,但它应该可以工作)我包括 Cocoalumberjack 并按照此处的建议设置全局日志级别:

我有DDLogVerbose一些方法的声明,默认情况下不应该记录。问题:但是,他们正在被记录。

检查ddLogLevelinit 函数中的 00001111,它等于DDLogLevelDebug. 然而,在此之后直接执行一个详细的日志记录语句。(1)

预处理行DDLogVerbose(@"I AM VERBOSE")显示此代码:

这意味着,预处理后的 LogLevel 是 Verbose。(2)我发现这个级别是 CocoaLumberjack 中的默认级别,以防万一,没有定义日志级别:

但是:调试这表明第一个路径被执行,即LOG_LEVEL_DEF(根据语句的级别检查以确定是否应该记录它)被分配了正确的级别(调试)。

问题:我没有发现,为什么(1)显示 LogLevel Debug并且在预处理后切换到Verbose (2)。这可能是包含标题的顺序问题吗?还是我错过了一些重要的点?

0 投票
2 回答
3271 浏览

ios - 使用 Swift 的 Lumberjack 2.0 记录器

我曾经将 Lumberjack logger 与 Objective C 一起使用,我喜欢它。现在我开始学习 Swift,我不能在那里使用我最喜欢的记录器。有人可以一步一步地写我该怎么做吗?我试图在这里找到一些东西,但在 Lumberjack 2.0 发布之前,所有主题都是旧的自定义包装器。我做了什么:

  • 我用 Cocoapods 添加了伐木工人;
  • 我在 Bridging-Header 文件中添加了“#import”。

而且我不知道接下来该怎么办?因为在 ObjC 我有宏: static const int ddLogLevel = LOG_LEVEL_INFO; 否则静态常量 int ddLogLevel = LOG_LEVEL_VERBOSE; 我的日志级别取决于编译标志...我可以在这里做吗?以及如何在代码中使用 Lumberjack?谢谢!

0 投票
1 回答
894 浏览

ios - syscall_thread_switch iOS 8.3 比赛 - CocoaLumberjack 错误?如何调试这个?

我在我的应用程序中遇到了竞争条件,每当我暂停调试时,除了 1 个线程之外的所有或所有线程都会卡在 syscall_thread_switch 上。它在模拟器上的再现频率更高,在 iPad Air 上也一样。总是有至少 2 个线程卡在 CocoaLumberjack 的 queueLogMessage 中: -- 见截图。

我以前在 8.1 和 8.2 上从未见过这种情况,但我在 8.3 上经常遇到这种情况。我并不是说这是 8.3 的错误 :)

这是我以前从未调试过的复杂程度,所以我不确定该怎么做。我希望我提供了足够的信息,如果您需要更多信息,请告诉我(如果不清楚,请具体说明如何获取信息)。你能帮我调试一下吗?!数以百万计的感谢。

线程概述

线程详细信息 1

线程细节 2

主线程位置

0 投票
2 回答
2882 浏览

ios - iOS 8 应用程序/框架中缺少必需的模块“CocoaLumberjack”

我在将可可豆荚(CocoaLumberjack在本例中)集成到 iOS 应用程序和我自己的框架时遇到问题。

Podfile看起来像这样:

我有这样的模块层次结构(动态框架):

  • CommonModule
  • ModelsModule(有依赖CommonModule

最后,主应用程序:

  • MySwiftApp(依赖两者ModelsModuleCommonModule

现在,CocoaLumberjack在几个文件中使用CommonModule并按预期工作。但是,每次我import CommonModule在 中的任何文件中执行操作时ModelsModule,都会出现以下编译错误:

知道如何解决这个问题吗?

更新: 有些人推荐使用Carthage。如果可能的话,我想避免这种情况。