⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 i18n_debug.h

📁 股票分析源代码
💻 H
字号:
#ifndef __GNU_I18N_DEBUG_H__
#define __GNU_I18N_DEBUG_H__

#include "gnu/gettext.h"

#include <ace/Auto_Ptr.h>

namespace gnu
{

typedef ACE_Auto_Basic_Array_Ptr<char> Char_Array_Ptr;

/** 
* This Function like  FILENAME, but it will auto release memory.<BR>
* you can use it in function<BR>
* \#define LOGFILE_Ptr gnu::FILENAME_Ptr(__FILE__).get()<BR>
* static char LOGFILE[MAX_PATH_LEN];<BR>
* and in function :<BR>
* strcpy(LOGFILE,LOGFILE_Ptr);<BR>
*
*/
Char_Array_Ptr FILENAME_Ptr(const char* FILE_FULL_PATH);

/** 
* don't use this proc in function ,if you do that , <BR>
* you must call delete it,if you don't do that, it will have memory leak!<BR>
* You can use it like this :<BR>
* static const char* LOGFILE = FILENAME(__FILE__);<BR>
*
*/
const char* FILENAME(const char* FILE_FULL_PATH);



// debug micro
#define DEBUG_PREFIX _("DEBUG"),LOGFILE
#define DEBUG_PREFIX_EX _("DEBUG")
#define INFO_PREFIX _("INFO")
#define NOTICE_PREFIX _("NOTICE")
#define WARNING_PREFIX _("WARNING"),LOGFILE
#define ERROR_PREFIX _("ERROR"),LOGFILE
#define ERROR_PREFIX_EX _("ERROR")

#define CRITICAL_PREFIX _("CRITICAL"),LOGFILE
#define ALERT_PREFIX _("ALERT"),LOGFILE

//#define _D_PREFIX  "%D (%t)\n%s "
//#define _D_PREFIX_EX  "%D (%t)\n%s [%s:%l] "
#define _D_PREFIX  "%s "
#define _D_PREFIX_EX  "%s [%s:%l] "

#define _DEBUG(Msgid)  ("%s [%s:%l] " Msgid)
#define _DEBUG_EX(Msgid)  ("%s " Msgid)#define _INFO(Msgid)  ("%s " Msgid)
#define _NOTICE(Msgid)  ("%s " Msgid)#define _ERROR(Msgid)  ("%s [%s:%l] " Msgid)
#define _ERROR_EX(Msgid)  ("%s " Msgid)
#define _WARNING(Msgid)  ("%s [%s:%l] " Msgid)
#define _CRITICAL(Msgid)  ("%s [%s:%l] " Msgid)
#define _ALERT(Msgid)  ("%s [%s:%l] " Msgid)
#define I18N_DEBUG(FMT, ...)     \
        ACE_DEBUG(( LM_DEBUG,  \
                    FMT, DEBUG_PREFIX,##__VA_ARGS__))

#define I18N_DEBUG_EX(FMT, ...)     \
        ACE_DEBUG(( LM_DEBUG,  \
                    FMT, DEBUG_PREFIX_EX,##__VA_ARGS__))
                                       
#define I18N_INFO(FMT, ...)     \
        ACE_DEBUG(( LM_INFO,  \
                    FMT, INFO_PREFIX,##__VA_ARGS__))
                    
#define I18N_NOTICE(FMT, ...)     \
        ACE_DEBUG(( LM_NOTICE,  \
                    FMT, NOTICE_PREFIX,##__VA_ARGS__))
                                        
#define I18N_WARNING(FMT, ...)     \
        ACE_ERROR(( LM_WARNING,  \
                    FMT, WARNING_PREFIX,##__VA_ARGS__))
#define I18N_ERROR(FMT, ...)     \
        ACE_ERROR(( LM_ERROR,  \
                    FMT, ERROR_PREFIX,##__VA_ARGS__))

#define I18N_ERROR_EX(FMT, ...)     \
        ACE_ERROR(( LM_ERROR,  \
                    FMT, ERROR_PREFIX_EX,##__VA_ARGS__))
                    
#define I18N_CRITICAL(FMT, ...)     \
        ACE_ERROR(( LM_CRITICAL,  \
                    FMT, CRITICAL_PREFIX,##__VA_ARGS__))
#define I18N_ALERT(FMT, ...)     \
        ACE_ERROR(( LM_ALERT,  \
                    FMT, ALERT_PREFIX,##__VA_ARGS__))                                                                                

} // namespace gnu
#endif  // #ifndef __GNU_I18N_DEBUG_H__


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -