Как отследить все вызовы NSLog (), Swift print () и других функций семейства печати в swift - PullRequest
0 голосов
/ 06 февраля 2020

Здесь я хочу отследить все функции NSLog (), Swift print () и другие функции семейства печати. ​​

Означает, что я хочу отследить всю печать журнала в окне отладки в xcode и сохранить в локальном хранилище.

Я пытался с макросом, и это мой код, но он не работал для меня.

#ifdef DEBUG
#define NSLog(args...) ExtendNSLog(__FILE__,__LINE__,__PRETTY_FUNCTION__,args)
#else
#define NSLog(x...)
#endif

void _Log(NSString *prefix, const char *file, int lineNumber, const char *funcName, NSString *format,...);

Теперь я хочу, чтобы каждый раз, когда NSLog () печатал что-нибудь, он вызовет этот метод, а затем я сохраню его в одном файл простой.

Если вы хотите получить более подробную информацию, пожалуйста, спросите.

Заранее спасибо.

1 Ответ

1 голос
/ 06 февраля 2020

Добавьте это к любому .swift файлу в вашем проекте. Эта функция будет вызываться каждый раз, когда в вашем проекте вызывается print().

public func print(_ items: Any...) {
    #if DEBUG
        Swift.print(items)
        // append items to your file here
    #else
        Swift.print("Release")
    #endif
}
...