ios - 如何在 libComponentLogger 中记录线程名称

标签 ios objective-c libcomponentlogging

使用 libComponentLogging 时,有没有办法显示调用 lcl_log() 的线程?

最佳答案

一些后端已经在其日志消息中包含线程 ID,例如LogFile 和 SystemLog 执行此操作。

如果您还想包含 NSThread 的名称,您可以将其添加到您正在使用的后端,例如对于 NSLog,您可以这样添加:

 --- a/LCLNSLog.h
 +++ b/LCLNSLog.h
 @@ -84,8 +84,9 @@
 // A very simple logger, which redirects to NSLog().
 #define _lcl_logger(_component, _level, _format, ...) {                        \
     _lcl_logger_autoreleasepool_begin                                          \
-    NSLog(@"%s %s:%@:%d:%s " _format,                                          \
+    NSLog(@"%s [%@] %s:%@:%d:%s " _format,                                     \
           _lcl_level_header_1[_level],                                         \
+          [[NSThread currentThread] name],                                     \
           _lcl_component_header[_component],                                   \
           [@__FILE__ lastPathComponent],                                       \
           __LINE__,                                                            \

关于ios - 如何在 libComponentLogger 中记录线程名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19132338/

相关文章:

ios - 快速枚举定义中的方法只会被调用一次还是每次迭代(objective-c)?

android - Cordova Insomnia 插件不工作

ios - 您的应用程序在启动时无限期加载

objective-c - UITableView:处理混合单元格 TableView 静态和动态单元格中的单元格选择

iphone - 通过 NSDate 对 UITableView(核心数据)进行排序

iphone - 在使用 RestKit 的应用程序中使用 LibComponentLogging

ios - 使用ARC在iOS应用中未释放内存

iphone - 如何声明实例变量和方法在类实例之外不可见或不可用?