[心得] 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  

 



posted on 2012-03-31 15:43  甲骨魚  阅读(218)  评论(0编辑  收藏  举报

导航