0

libComponentLogging を使用しているときに、lcl_log() が呼び出されたスレッドを表示する方法はありますか?

4

2 に答える 2

1

一部のバックエンドでは、すでにログ メッセージにスレッド 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__,                                                            \
于 2013-10-04T11:04:57.557 に答える
0

非常に簡単です。これで仕事ができます(または同様のことができます):

[NSThread currentThread].name
于 2013-10-02T08:37:36.077 に答える