1

デバッグの目的で、このコードを に追加しました.pch__FILE__出力にはかなり満足していますが、DLog定義で使用するときにファイル名を (フル パスなしで) 表示する方法を改善したいと考えています。

私は使用しています[[NSString stringWithUTF8String:__FILE__] lastPathComponent]

たぶん、それを行うためのよりクリーンで短い方法を提案できますか?

#ifdef DEBUG
    #define DLog(...) NSLog(@"%@ %d %s %s", [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, __PRETTY_FUNCTION__, __FUNCTION__)
    #define ALog(...) [[NSAssertionHandler currentHandler] handleFailureInFunction:[NSString stringWithCString:__PRETTY_FUNCTION__ encoding:NSUTF8StringEncoding] file:[NSString stringWithCString:__FILE__ encoding:NSUTF8StringEncoding] lineNumber:__LINE__ description:__VA_ARGS__]
#else
    #define DLog(...) do { } while (0)
    #ifndef NS_BLOCK_ASSERTIONS
        #define NS_BLOCK_ASSERTIONS
    #endif
    #define ALog(...) NSLog(@"%s %@", __PRETTY_FUNCTION__, [NSString stringWithFormat:__VA_ARGS__])
#endif

更新 可能であれば、datetime と app name も削除したいと思い(i.e. 2012-05-30 16:23:29.795 AppName[11746:12203]ます。なにか提案を?

4

1 に答える 1