📄 i18n_debug.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 + -