问题标签 [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.
objective-c - 将项目移动到快速桥接项目后,“LOG_INFO”宏重新定义了警告
我收到了几个这样的警告:
警告抱怨 Projet-Bridging-Header.h 中的 DDLog.h
我该如何解决这个问题?
ios - CocoaLumberjack pod install 中缺少 libPoads.a 文件
我正在尝试CocoaLumberjack
使用pod install
. 安装成功完成,但libPods.a
我的项目中缺少文件。如果没有这个 lib 文件,我会收到以下错误,
我不确定为什么这个文件丢失了我找不到任何解决方案。任何帮助,将不胜感激。谢谢是提前。
cocoalumberjack - macosx 10.10 cocoalumberjack 链接器错误
我使用 pod 将 cocoalumberjack 安装到我的 macosx 项目中。这是错误消息的输出。
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 的一部分存储,并且可以通过自定义格式化程序访问。
ios - 使用 Cocoapdos 的 CocoaLumberjack 配置
我正在使用 Cocoapods 并尝试将 CocoaLumberjack 库配置为仅用于 Debug 构建配置。
我想要发生的是,当我为发布而构建时,CocoaLumberjack 库没有被编译并且所有的日志语句都被忽略了。
能够使用 podfile 中的以下语句将 CocoaLumberjack pod 配置为不包含在“发布”中:
然而,所有的日志语句最终都会变成错误,因为它们的来源无法找到。
所以想知道是否可以只使用 CocoaLumberjack 进行调试构建配置,并且在构建发布时,就好像库和日志语句都不存在一样。
欢迎提出意见和建议。
ios - 由于 CocoaLumberjack 子规范导致的 Pod 规范 lint 错误
一周前,我将 MyApp 推送到了我的私人 cocoapod 上,没有任何问题。在此期间,我没有用 CocoaLumberjack 更新任何内容。
我的 podspec 包含:
这是命令 && 错误:
该文件的第 85 行是:
它以前一直在工作。我不知道发生了什么变化,它现在不起作用。
objective-c - CocoaLumberjack 的日志级别切换到详细
我正在使用CocoaLumberjack 日志框架2.0.0 进行不同级别的日志记录。在我的 Prefix.pch 中(我知道这个文件已被弃用,但它应该可以工作)我包括 Cocoalumberjack 并按照此处的建议设置全局日志级别:
我有DDLogVerbose
一些方法的声明,默认情况下不应该记录。问题:但是,他们正在被记录。
检查ddLogLevel
init 函数中的 00001111,它等于DDLogLevelDebug
. 然而,在此之后直接执行一个详细的日志记录语句。(1)
预处理行DDLogVerbose(@"I AM VERBOSE")
显示此代码:
这意味着,预处理后的 LogLevel 是 Verbose。(2)我发现这个级别是 CocoaLumberjack 中的默认级别,以防万一,没有定义日志级别:
但是:调试这表明第一个路径被执行,即LOG_LEVEL_DEF
(根据语句的级别检查以确定是否应该记录它)被分配了正确的级别(调试)。
问题:我没有发现,为什么(1)显示 LogLevel Debug并且在预处理后切换到Verbose (2)。这可能是包含标题的顺序问题吗?还是我错过了一些重要的点?
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?谢谢!
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 的错误 :)
这是我以前从未调试过的复杂程度,所以我不确定该怎么做。我希望我提供了足够的信息,如果您需要更多信息,请告诉我(如果不清楚,请具体说明如何获取信息)。你能帮我调试一下吗?!数以百万计的感谢。
ios - iOS 8 应用程序/框架中缺少必需的模块“CocoaLumberjack”
我在将可可豆荚(CocoaLumberjack
在本例中)集成到 iOS 应用程序和我自己的框架时遇到问题。
Podfile
看起来像这样:
我有这样的模块层次结构(动态框架):
CommonModule
ModelsModule
(有依赖CommonModule
)
最后,主应用程序:
MySwiftApp
(依赖两者ModelsModule
和CommonModule
)
现在,CocoaLumberjack
在几个文件中使用CommonModule
并按预期工作。但是,每次我import CommonModule
在 中的任何文件中执行操作时ModelsModule
,都会出现以下编译错误:
知道如何解决这个问题吗?