Log.cpp
上传用户:sz83729876
上传日期:2013-03-07
资源大小:4140k
文件大小:2k
源码类别:

OpenGL

开发平台:

Windows_Unix

  1. #include "Log.h"
  2. //-------------------------------------------------------
  3. //  Static variables    
  4. //-------------------------------------------------------
  5. FILE* Log::m_pFileHandle = NULL;
  6. std::string Log::m_strFile;
  7. std::string Log::m_strSub;
  8. //-------------------------------------------------------
  9. //  Initialize()
  10. //-------------------------------------------------------
  11. //      Creates the log file and writes a simple header.
  12. //
  13. bool Log::Initialize( std::string strFile )
  14. {
  15.     m_strSub = "";
  16.     m_pFileHandle = fopen( strFile.c_str(), "wt" );
  17.     if (m_pFileHandle==NULL)
  18.         return false;
  19.     fclose( m_pFileHandle );
  20.     m_strFile = strFile;
  21.     Print( "**********************************" );
  22.     Print( " Base Log " );
  23.     Print( "**********************************" );
  24.     return true;
  25. }
  26. //-------------------------------------------------------
  27. //  Cleanup()
  28. //-------------------------------------------------------
  29. //      Closes log file if it's accidentally left open.
  30. //
  31. void Log::Cleanup()
  32. {
  33.     Print( "Closing Log" );
  34.     if (m_pFileHandle)
  35.         fclose( m_pFileHandle );
  36. }
  37. //-------------------------------------------------------
  38. //  Print()
  39. //-------------------------------------------------------
  40. //      Prints text to the log file, in that handy
  41. //      printf() style string thingy.
  42. //
  43. void Log::Print( const char *str, ... )
  44. {
  45. va_list l_va;
  46. va_start( l_va, str );
  47.         m_pFileHandle = fopen( m_strFile.c_str(), "a+" );
  48.         if (m_pFileHandle==NULL)
  49.             return;
  50. fprintf( m_pFileHandle, "%s", m_strSub.c_str() );
  51. vfprintf( m_pFileHandle, str, l_va );
  52. putc( 'n', m_pFileHandle );
  53.         fclose( m_pFileHandle );
  54. va_end( l_va );
  55. }
  56. //-------------------------------------------------------
  57. //  SetSub()
  58. //-------------------------------------------------------
  59. //      Changes the sub string.
  60. //
  61. void Log::SetSub( std::string str )
  62. {
  63.     m_strSub = str;
  64. }