[心得] LOG
/*---------------HeadFile------------*/
#ifndef __CSLOG_H__
#define __CSLOG_H__
namespace cs
{
void CSLog(const char* pszFormat, ...);
}
#endif
/*-------------CppFile----------------*/
#include "cslog.h"
#include<stdarg.h>
const int g_nMaxLogLen = 255;
namespace cs
{
void CSLog(const char* pszFormat, ...)
{
char szBuff[g_nMaxLogLen];
va_list va;
va_start(va, pszFormat);
vprintf(szBuff, pszFormat, va);
va_end(va);
printf("%s\n",szBuff);
}
}
另外一种方式
// file Log.h #define NSLog(args...) _Log(@"DEBUG ", __FILE__,__LINE__,__PRETTY_FUNCTION__,args); @interface Log : NSObject void _Log(NSString *prefix, const char *file, int lineNumber, const char *funcName, NSString *format,...); @end // file Log.m #import "Log.h" @implementation Log void _Log(NSString *prefix, const char *file, int lineNumber, const char *funcName, NSString *format,...) { va_list ap; va_start (ap, format); format = [format stringByAppendingString:@"\n"]; NSString *msg = [[NSString alloc] initWithFormat:[NSString stringWithFormat:@"%@",format] arguments:ap]; va_end (ap); fprintf(stderr,"%s%50s:%3d - %s",[prefix UTF8String], funcName, lineNumber, [msg UTF8String]); [msg release]; } @end