ios – XCGLogger线程安全吗?

ios – XCGLogger线程安全吗?,第1张

概述我正在考虑使用XCGLogger来替换 CocoaLumberjack,并且想知道是否允许使用根据README在主线程上创建和设置的全局记录器从任何线程记录以下内容? log.info("This is not a valid format: \(inputStr)") TL; DR:是的,XCGLogger是线程安全的,但是它使用println()本身是线程安全的,因此println()的其他调 我正在考虑使用XCGLogger来替换 CocoaLumberjack,并且想知道是否允许使用根据README在主线程上创建和设置的全局记录器从任何线程记录以下内容?

log.info("This is not a valID format: \(inputStr)")
解决方法 TL; DR:是的,XCGLogger是线程安全的,但是它使用println()本身是线程安全的,因此println()的其他调用者可以使它看起来好像XCGLogger本身不是.

XCGLogger使用队列来确保调用它所调用的所有println()并以线程安全的方式完成.

但请注意,如果直接从应用程序的其他位置调用println(),或者其他库调用println(),则这些调用不是线程安全的,并且仍然可能会干扰来自XCGLogger的调用.

项目中有一个单元测试(testMultiThreaded),它通过并发队列显示对XCGLogger的多次调用,并且它们都安全地写入.但是您可以看到Xcode本身在测试运行时输出有关测试的信息,并且输出可能会与日志输出纠缠在一起.

总结

以上是内存溢出为你收集整理的ios – XCGLogger线程安全吗?全部内容,希望文章能够帮你解决ios – XCGLogger线程安全吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1014193.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存