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