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 };