/*---------------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