#include <mem_displayer.h>
Inheritance diagram for NLMISC::CLightMemDisplayer:
Nevrax France
Definition at line 84 of file mem_displayer.h.
Public Member Functions | |
void | clear () |
CLightMemDisplayer (const char *displayerName="") | |
Constructor. | |
void | display (const CLog::TDisplayInfo &args, const char *message) |
Display the string where it does. | |
const std::deque< std::string > & | lockStrings () |
void | setParam (uint32 maxStrings=50) |
Set Parameter of the displayer if not set at the ctor time. | |
void | unlockStrings () |
void | write (std::string &str) |
void | write (CLog *log=NULL, bool quiet=true) |
Write N last line into a displayer (InfoLog by default). | |
Static Public Member Functions | |
const char * | dateToComputerString (time_t date) |
Convert date to "784551148" string (time in second from 1975). | |
const char * | dateToHumanString (time_t date) |
Convert date to "2000/01/14 10:05:17" string. | |
const char * | dateToHumanString () |
Convert the current date to human string. | |
const char * | logTypeToString (CLog::TLogType logType, bool longFormat=false) |
Convert log type to string. | |
Data Fields | |
std::string | DisplayerName |
This is the idenfiant for a displayer, it is used to fond or remove a displayer. | |
Protected Member Functions | |
virtual void | doDisplay (const CLog::TDisplayInfo &args, const char *message) |
Put the string into the file. | |
Static Protected Member Functions | |
const char * | HeaderString () |
Protected Attributes | |
bool | _CanUseStrings |
uint32 | _MaxStrings |
bool | _NeedHeader |
std::deque< std::string > | _Strings |
|
Constructor.
Definition at line 88 of file mem_displayer.h.
00088 : CMemDisplayer(displayerName) { } |
|
Definition at line 62 of file mem_displayer.h. References NLMISC::CMemDisplayer::_CanUseStrings, and NLMISC::CMemDisplayer::_Strings. Referenced by NLNET::IService::main(), NLNET::serviceGetView(), and NLNET::updateAdmin().
00062 { if (_CanUseStrings) _Strings.clear (); } |
|
Convert date to "784551148" string (time in second from 1975).
Definition at line 103 of file displayer.cpp. References NLMISC::smprintf().
00104 { 00105 static char cstime[25]; 00106 smprintf (cstime, 25, "%ld", &date); 00107 return cstime; 00108 } |
|
Convert date to "2000/01/14 10:05:17" string.
Definition at line 92 of file displayer.cpp. References uint32.
00093 { 00094 static char cstime[25]; 00095 struct tm *tms = localtime(&date); 00096 if (tms) 00097 strftime (cstime, 25, "%Y/%m/%d %H:%M:%S", tms); 00098 else 00099 sprintf(cstime, "bad date %d", (uint32)date); 00100 return cstime; 00101 } |
|
Convert the current date to human string.
Definition at line 85 of file displayer.cpp. Referenced by NLNET::CNetDisplayer::doDisplay(), NLMISC::CMemDisplayer::doDisplay(), NLMISC::CMsgBoxDisplayer::doDisplay(), NLMISC::CFileDisplayer::doDisplay(), and NLMISC::IDisplayer::HeaderString().
00086 { 00087 time_t date; 00088 time (&date); 00089 return dateToHumanString (date); 00090 } |
|
Display the string where it does.
Definition at line 132 of file displayer.cpp. References NLMISC::IDisplayer::doDisplay().
|
|
Put the string into the file.
Reimplemented from NLMISC::CMemDisplayer. Definition at line 435 of file mem_displayer.cpp.
00436 { 00437 //stringstream ss; 00438 string str; 00439 //bool needSpace = false; 00440 00441 if (!_CanUseStrings) return; 00442 00443 str += message; 00444 00445 // clear old line 00446 while (_Strings.size () >= _MaxStrings) 00447 { 00448 _Strings.pop_front (); 00449 } 00450 00451 _Strings.push_back (str); 00452 } |
|
Definition at line 110 of file displayer.cpp. References NLMISC::IDisplayer::dateToHumanString(), and NLMISC::smprintf(). Referenced by NLMISC::CMemDisplayer::doDisplay(), and NLMISC::CFileDisplayer::doDisplay().
00111 { 00112 static char header[1024]; 00113 smprintf(header, 1024, "\nLog Starting [%s]\n", dateToHumanString()); 00114 return header; 00115 } |
|
Definition at line 58 of file mem_displayer.h. References NLMISC::CMemDisplayer::_CanUseStrings, and NLMISC::CMemDisplayer::_Strings. Referenced by NLNET::IService::main(), NLMISC::NLMISC_COMMAND(), NLNET::serviceGetView(), and NLNET::updateAdmin().
00058 { _CanUseStrings = false; return _Strings; } |
|
Convert log type to string.
Definition at line 77 of file displayer.cpp. References NLMISC::LogTypeToString. Referenced by NLMISC::CWindowDisplayer::doDisplay(), NLNET::CNetDisplayer::doDisplay(), NLMISC::CMemDisplayer::doDisplay(), NLMISC::CMsgBoxDisplayer::doDisplay(), NLMISC::CFileDisplayer::doDisplay(), and NLMISC::CStdDisplayer::doDisplay().
00078 { 00079 if (logType < CLog::LOG_NO || logType > CLog::LOG_UNKNOWN) 00080 return "<NotDefined>"; 00081 00082 return LogTypeToString[longFormat?1:0][logType]; 00083 } |
|
Set Parameter of the displayer if not set at the ctor time.
Definition at line 323 of file mem_displayer.cpp. References NLMISC::CMemDisplayer::_MaxStrings, and uint32. Referenced by NLMISC::CMemDisplayer::CMemDisplayer(), and NLNET::serviceGetView().
00324 { 00325 _MaxStrings = maxStrings; 00326 } |
|
Definition at line 60 of file mem_displayer.h. References NLMISC::CMemDisplayer::_CanUseStrings. Referenced by NLNET::IService::main(), NLMISC::NLMISC_COMMAND(), NLNET::serviceGetView(), and NLNET::updateAdmin().
00060 { _CanUseStrings = true; } |
|
Definition at line 426 of file mem_displayer.cpp. References NLMISC::CMemDisplayer::_Strings.
|
|
Write N last line into a displayer (InfoLog by default).
Definition at line 399 of file mem_displayer.cpp. References NLMISC::CMemDisplayer::_Strings, NLMISC::displayCallStack(), NLMISC::CLog::forceDisplayRaw(), and NLMISC::InfoLog. Referenced by NLMISC::getCallStackAndLog(), and NLMISC::NLMISC_COMMAND().
00400 { 00401 if (log == NULL) 00402 log = InfoLog; 00403 00404 if ( ! quiet ) 00405 { 00406 log->forceDisplayRaw ("------------------------------------------------------------------------------\n"); 00407 log->forceDisplayRaw ("----------------------------------------- display MemDisplayer history -------\n"); 00408 log->forceDisplayRaw ("------------------------------------------------------------------------------\n"); 00409 } 00410 for (deque<string>::iterator it = _Strings.begin(); it != _Strings.end(); it++) 00411 { 00412 log->forceDisplayRaw ((*it).c_str()); 00413 } 00414 if ( ! quiet ) 00415 { 00416 log->forceDisplayRaw ("------------------------------------------------------------------------------\n"); 00417 log->forceDisplayRaw ("----------------------------------------- display MemDisplayer callstack -----\n"); 00418 log->forceDisplayRaw ("------------------------------------------------------------------------------\n"); 00419 displayCallStack(log); 00420 log->forceDisplayRaw ("------------------------------------------------------------------------------\n"); 00421 log->forceDisplayRaw ("----------------------------------------- end of MemDisplayer display --------\n"); 00422 log->forceDisplayRaw ("------------------------------------------------------------------------------\n"); 00423 } 00424 } |
|
Definition at line 72 of file mem_displayer.h. Referenced by NLMISC::CMemDisplayer::clear(), NLMISC::CMemDisplayer::doDisplay(), NLMISC::CMemDisplayer::lockStrings(), and NLMISC::CMemDisplayer::unlockStrings(). |
|
Definition at line 70 of file mem_displayer.h. Referenced by NLMISC::CMemDisplayer::doDisplay(), and NLMISC::CMemDisplayer::setParam(). |
|
Definition at line 68 of file mem_displayer.h. |
|
Definition at line 74 of file mem_displayer.h. Referenced by NLMISC::CMemDisplayer::clear(), NLMISC::CMemDisplayer::doDisplay(), NLMISC::CMemDisplayer::lockStrings(), and NLMISC::CMemDisplayer::write(). |
|
This is the idenfiant for a displayer, it is used to fond or remove a displayer.
Definition at line 63 of file displayer.h. Referenced by NLMISC::IDisplayer::IDisplayer(). |