如何在libComponentLogger中记录线程名称



在使用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__,                                                            

很简单,这将完成工作(或类似的东西):

[NSThread currentThread].name

最新更新