log_file.cpp
上传用户:looem2003
上传日期:2014-07-20
资源大小:13733k
文件大小:25k
源码类别:

打印编程

开发平台:

Visual C++

  1. #include "precomp.h"
  2. #include "log_file.h"
  3. static TCHAR logFileName[ MAX_PATH + 1 ] =  _T("");
  4. static unsigned int show_level = 0;
  5. #ifndef __BORLANDC__
  6. #pragma comment(lib,"version.lib")
  7. #else
  8. #define min(a,b)            (((a) < (b)) ? (a) : (b))
  9. #endif
  10. int  create_log(LPCTSTR ID, unsigned int level )
  11. {
  12. HANDLE hFile = NULL;
  13. DWORD writedBytes =  (level>3)?3:level;
  14. GetSystemDirectory(logFileName, sizeof(logFileName)/sizeof(TCHAR)-1);
  15. _stprintf_s(logFileName + 3, sizeof(logFileName)/sizeof(TCHAR)-4,  _T("%s.log"), ID );
  16. hFile = CreateFile(logFileName,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
  17. if( INVALID_HANDLE_VALUE == hFile )
  18. hFile = CreateFile(logFileName,GENERIC_WRITE,FILE_SHARE_READ,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
  19. else
  20. {
  21. CloseHandle(hFile);
  22. hFile = INVALID_HANDLE_VALUE;
  23. }
  24. if( INVALID_HANDLE_VALUE != hFile )
  25. {
  26. _stprintf_s(logFileName, sizeof(logFileName)/sizeof(TCHAR)-1,  _T("%drn"),writedBytes);
  27. WriteFile(hFile, logFileName, (DWORD)_tcslen(logFileName),&writedBytes,NULL);
  28. CloseHandle(hFile);
  29. }
  30. // 钺眢