Я настраиваю некоторые макросы для целей ведения журнала.
#define LOG_NETWORK_DEBUG(...) LogMessageF(__FILE__,__LINE__,__FUNCTION__,@"Network",2,__VA_ARGS__)
#define LOG_NETWORK_INFO(...) LogMessageF(__FILE__,__LINE__,__FUNCTION__,@"Network",1,__VA_ARGS__)
#define LOG_NETWORK_ERROR(...) LogMessageF(__FILE__,__LINE__,__FUNCTION__,@"Network",0,__VA_ARGS__)
#define LOG_MEDIA_DEBUG(...) LogMessageF(__FILE__,__LINE__,__FUNCTION__,@"Media",2,__VA_ARGS__)
#define LOG_MEDIA_INFO(...) LogMessageF(__FILE__,__LINE__,__FUNCTION__,@"Media",1,__VA_ARGS__)
#define LOG_MEDIA_ERROR(...) LogMessageF(__FILE__,__LINE__,__FUNCTION__,@"Media",0,__VA_ARGS__)
Однако, поскольку мой код в настоящее время заполнен вызовами NSLog, я хочу перевести вызовы NSLog
на вызовы LogMessageF
,(пока у меня нет времени перенести весь мой код в вышеупомянутые макросы) Мой проект в настоящее время состоит из 2 подпроектов: Сеть, Медиа.
Я хочу, чтобы каждый вызов NSLog был преобразован в соответствующий Макрос.(Вызовы NSLog в проекте Media будут преобразованы в LOG_MEDIA_DEBUG).
Я думал об установке макроса препроцессора в XCode для каждого проекта с именем PROJ_NAME, который будет включать имя проекта.
Мой вопроскак использовать этот макрос?Я хочу сделать что-то вроде этого:
#define NSLog(...) LOG_$PROJ_NAME_DEBUG(__VA_ARGS__)