testlog4c.cpp 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. // testlog4c.cpp : 定义控制台应用程序的入口点。
  2. //
  3. #include "stdafx.h"
  4. //#include "Log.h"
  5. //using namespace SToneULog;
  6. #pragma comment(lib,"Log4C.lib")
  7. int _tmain(int argc, _TCHAR* argv[])
  8. {
  9. TCHAR szCurModuleDir[MAX_PATH] = {0};
  10. TCHAR szCurModulePath[MAX_PATH] = {0};
  11. // 获取模块的目录;
  12. TCHAR szDrive[MAX_PATH] = { 0 };
  13. TCHAR szDir[MAX_PATH] = { 0 };
  14. TCHAR szExt[MAX_PATH] = { 0 };
  15. TCHAR szFna[MAX_PATH] = {0};
  16. ::GetModuleFileName(NULL, szCurModulePath, sizeof(szCurModulePath) / sizeof(TCHAR));
  17. _tsplitpath_s(szCurModulePath, szDrive, szDir, szFna, szExt);
  18. _tcscpy_s(szCurModuleDir, szDrive);
  19. _tcscat_s(szCurModuleDir, szDir);
  20. //LOG4C_INIT_DEFAULT();
  21. //LOG_PARAM *pLogParam = new LOG_PARAM[sizeof(LOG_PARAM)];
  22. //LOG4C((pLogParam, LOG_ERROR, "Hello World!"));
  23. //if( NULL != pLogParam )
  24. //{
  25. // delete[] pLogParam;
  26. // pLogParam = NULL;
  27. //}
  28. //char strBuffer[128] = "You are the Best One!\0 Yes.";
  29. //LOG4C_HEX_DUMP(( LOG_TRACE, strBuffer, sizeof(strBuffer)));
  30. #if 0 // 是否使用默认
  31. LOG4C_INIT_DEFAULT();
  32. #else
  33. char szFileName[MAX_PATH];
  34. sprintf(szFileName, "%s\\log4crc", szCurModuleDir);
  35. ///设置日志配置文件名
  36. LOG4C_PARAM_CFG_FILE_NAME(szFileName);
  37. ///设置日志级别
  38. LOG4C_PARAM_LOG_LEVEL("unknown");
  39. ///设置日志文件大小
  40. LOG4C_PARAM_LOG_FILE_SIZE(10240);
  41. ///设置生成日志文件个数,达到最大个数将自动覆盖最旧的日志
  42. LOG4C_PARAM_LOG_FILE_NUM(5);
  43. ///设置每次记录日志都重新读取日志配置文件
  44. LOG4C_PARAM_REREAD_LOG_CFG_FILE(1);
  45. ///带参数日志模块初始化,以上所有设置了的参数都将生效,没有设置的采用缺省值
  46. LOG4C_INIT_WITH_PARAM();
  47. #endif
  48. LOG4C_BLOCK_BEGIN(("LOG4C_BLOCK_BEGIN0"));
  49. LOG4C_BLOCK_BEGIN(("LOG4C_BLOCK_BEGIN1"));
  50. LOG4C_BLOCK_BEGIN(("LOG4C_BLOCK_BEGIN2"));
  51. LOG4C_BLOCK_BEGIN(("LOG4C_BLOCK_BEGIN3"));
  52. LOG4C_BLOCK_END(("LOG4C_BLOCK_BEGIN3"));
  53. LOG4C_BLOCK_END(("LOG4C_BLOCK_BEGIN2"));
  54. LOG4C_BLOCK_END(("LOG4C_BLOCK_BEGIN1"));
  55. LOG4C_BLOCK_END(("LOG4C_BLOCK_BEGIN0"));
  56. char strBuffer[128] = "You are the Best One!\0 Yes.";
  57. LOG4C_HEX_DUMP((LOG_INFO, "%s", strBuffer, sizeof(strBuffer)));
  58. LOG4C_ORIGIN ((LOG_ERROR,"LOG4C_ORIGIN"));
  59. LOG4C_NO_FILENUM((LOG_ERROR, "LOG4C_NO_FILENUM"));
  60. //LOG4C_RETURN_WITH_VALUE(( LOG4C_PRIORITY_TRACE, "message"), 1);
  61. LOG4C_FUN(("Hello World!"));
  62. LOG4C((LOG_ERROR, "Hello World!"));
  63. LOG4C_IF((4>3, LOG_ERROR, "LOG4C_IF:4>3"));
  64. LOG4C_IF((2>3, LOG_ERROR, "LOG4C_IF:2>3"));
  65. LOG4C_LINE();
  66. LOG4C_FINI();
  67. #if 0
  68. int rc = 0;
  69. if (log4c_init())
  70. {
  71. //printf("log4c_init() failed");
  72. rc = 1;
  73. }
  74. else
  75. {
  76. g_pRoot = log4c_category_get("root");
  77. //log4c_category_log(mycat, LOG4C_PRIORITY_ERROR, "Hello World!");
  78. //log4c_category_error(mycat, "you know error!");
  79. LOG4C("Hello World!");
  80. LOG4C("%s", "you know error!");
  81. /* Explicitly call the log4c cleanup routine */
  82. if ( log4c_fini())
  83. {
  84. printf("log4c_fini() failed");
  85. }
  86. }
  87. #endif
  88. return 0;
  89. }