#import <Cocoa/Cocoa.h> #ifndef _ZCDEBUG #define _ZCDEBUG void _fileDebug(char * sourceFile, char *functionName, int lineNumber, NSString * format, ...); void _fileRelease(char * sourceFile, char *functionName, int lineNumber, NSString * format, ...); #ifdef _DEBUG #define SNLog(s,...) _fileDebug(__FILE__, (char *)__FUNCTION__, __LINE__, (s),##__VA_ARGS__) #else #define SNLog(s,...) _fileRelease(__FILE__, (char *)__FUNCTION__, __LINE__, (s),##__VA_ARGS__) #endif #endif #import "SNLog.h" #ifdef _ZCDEBUG void _fileDebug(char * sourceFile, char *functionName, int lineNumber, NSString * format, ...) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; va_list ap; NSString *print, *file, *function; va_start(ap,format); file = [[NSString alloc] initWithBytes: sourceFile length: strlen(sourceFile) encoding: NSUTF8StringEncoding]; function = [NSString stringWithCString: functionName]; print = [[NSString alloc] initWithFormat: format arguments: ap]; va_end(ap); NSLog(@"%@:%d %@; %@", [file lastPathComponent], lineNumber, function, print); [print release]; [file release]; [pool release]; } void _fileRelease(char * sourceFile, char *functionName, int lineNumber, NSString * format, ...) { } #endif