00001 #pragma once 00002 00003 using namespace System; 00004 using namespace System::IO; 00005 using namespace System::Collections; 00006 00007 ref class FileLogger 00008 { 00009 public: 00010 FileLogger(String^ fullpath); 00011 ~FileLogger(); 00012 00013 void Debug(String^ msg); 00014 void DebugFormat(String^ msg, ... array<Object^>^ args); 00015 void Error(String^ msg); 00016 void Error(String^ msg, Exception^ ex); 00017 void ErrorFormat(String^ msg, ... array<Object^>^ args); 00018 private: 00019 void RollOverIfDateBoundaryCrossing(); 00020 ArrayList^ GetExistingFiles(String^ baseFilePath); 00021 void RollOverTime(String^ fromFile, String^ toFile); 00022 void DeleteFile(String^ fileName); 00023 void DeleteLogFiles(ArrayList^ files); 00024 00025 String^ m_baseFileName; 00026 String^ m_fullpath; 00027 FileStream^ m_stream; 00028 TextWriter^ m_writer; 00029 };