Environment: VC6, BC55, Win2000 SP2, g++, Redhat Linux 7.1
Introduction:
The ability to log is commonly needed in every software project on every platform. I wrote this class to save time.
There are two basic log classes provided for easy use. One is CFileLog, which implements a file logging system. The other is CRegFileLog that implements a registry controled file logging system. The whole logging system is quit easy to extended for any propose.
How to use:
Just include MjLog.h and construct an MjTools::CFileLog or MjTools::CRegFileLog instance. When you want to add a log message, call yourObject.AddLog(“Log message”).
Demo code:
#include "MjLog.h" int main() { MjTools::CFileLog m_Log("test.log"); std::string a="aaa"; m_Log.Clear(); m_Log.AddLog("Abc"); m_Log.AddLog(a); MjTools::CFileLog m_Log1=m_Log; m_Log1.AddLog("From Log1"); #ifdef WIN32 //RegistryLogControl only valid in Windows system // construct a registry key controled log object. If // the specified registry key is found,the log is enabled MjTools::CRegFileLog m_regLog("reglog.log", "HKEY_LOCAL_MACHINE\Software\YourControlKeyName"); m_regLog.AddLog("reglog"); m_regLog.Pause(); m_regLog.AddLog("reglog1"); m_regLog.Resume(); m_regLog.AddLog("reglog2"); #endif return 0; }
How to compile:
The source code itself can be compiled and executed. You can use command line tool to compile it.
Under VC++:
CL /D"_TEST_" MjLog.cpp
This one may cause a link error. I don't know why.But if you use a win32 console project, no error occurs
Under BCC:
bcc32 /D_TEST_ mjlog.cpp
Under Linux:
g++ /D_TEST_ MjLog.cpp
Future Updates:
1. Make the class thread_safe.
2. Still thinking...
Downloads
Download source - 2.41 Kb