如何在libComponentLogger中记录线程名称

时间:2013-10-02 07:55:25

标签: ios objective-c libcomponentlogging

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

2 个答案:

答案 0 :(得分:1)

某些后端已经在其日志消息中包含了thread-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__,                                                            \

答案 1 :(得分:0)

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

[NSThread currentThread].name