78 lines
1.8 KiB
C
78 lines
1.8 KiB
C
|
//
|
||
|
// MODULE: APGTSLOG.H
|
||
|
//
|
||
|
// PURPOSE: User Activity Logging Utility
|
||
|
// Fully implements class CHTMLLog
|
||
|
//
|
||
|
// PROJECT: Generic Troubleshooter DLL for Microsoft AnswerPoint
|
||
|
//
|
||
|
// COMPANY: Saltmine Creative, Inc. (206)-284-7511 support@saltmine.com
|
||
|
//
|
||
|
// AUTHOR: Roman Mach
|
||
|
//
|
||
|
// ORIGINAL DATE: 8-2-96
|
||
|
//
|
||
|
// NOTES:
|
||
|
// 1. Based on Print Troubleshooter DLL
|
||
|
//
|
||
|
// Version Date By Comments
|
||
|
//--------------------------------------------------------------------
|
||
|
// V0.1 - RM Original
|
||
|
// V3.0 9/21/98 JM Pulled into separate file
|
||
|
//
|
||
|
|
||
|
#ifndef _H_APGTSLOG
|
||
|
#define _H_APGTSLOG
|
||
|
|
||
|
#include "apgtsstr.h"
|
||
|
|
||
|
|
||
|
#define LOGFILEPREFACE _T("gt")
|
||
|
#define MAXLOGSBEFOREFLUSH 5
|
||
|
#define MAXLOGSIZE 1000
|
||
|
|
||
|
class CPoolQueue;
|
||
|
//
|
||
|
//
|
||
|
class CHTMLLog
|
||
|
{
|
||
|
public:
|
||
|
static void SetUseLog(bool bUseLog);
|
||
|
|
||
|
public:
|
||
|
CHTMLLog(const TCHAR *);
|
||
|
~CHTMLLog();
|
||
|
|
||
|
DWORD NewLog(LPCTSTR data);
|
||
|
DWORD GetStatus();
|
||
|
|
||
|
// Access function to enable the registry monitor to change the logging file directory.
|
||
|
void SetLogDirectory( const CString &strNewLogDir );
|
||
|
|
||
|
// testing only
|
||
|
DWORD WriteTestLog(LPCTSTR szAPIName, DWORD dwThreadID);
|
||
|
|
||
|
protected:
|
||
|
DWORD FlushLogs();
|
||
|
void Lock();
|
||
|
void Unlock();
|
||
|
|
||
|
protected:
|
||
|
static bool s_bUseHTMLLog;
|
||
|
|
||
|
protected:
|
||
|
CRITICAL_SECTION m_csLogLock; // must lock to write to log file
|
||
|
|
||
|
CString *m_buffer[MAXLOGSBEFOREFLUSH]; // Array of separate strings to log, held here
|
||
|
// till we flush
|
||
|
// Note this is our CString, not MFC - 10/97
|
||
|
UINT m_bufindex; // index into m_buffer, next slot to write to.
|
||
|
// incremented after writing; when it reaches
|
||
|
// MAXLOGSBEFOREFLUSH, we flush
|
||
|
DWORD m_dwErr; // Latest error. NOTE: once this is set nonzero, it
|
||
|
// can never be cleared & logging is effectively
|
||
|
// disabled.
|
||
|
CString m_strDirPath; // directory in which we write log files.
|
||
|
};
|
||
|
|
||
|
#endif // _H_APGTSLOG
|