Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
cLogAppendFile.h
Go to the documentation of this file.
1 //
4 //
5 
6 #ifndef _INC_cLogAppendFile_H
7 #define _INC_cLogAppendFile_H
8 #ifndef NO_PRAGMA_ONCE
9 #pragma once
10 #endif
11 
12 #include "cLogFileDay.h"
14 #include "GrayCore/include/cMime.h"
15 
16 namespace GrayLib
17 {
19  : public cLogAppender
20  , public cRefBase
21  , public cLogFileDay
22  {
26 
27  public:
29 
30  public:
31  cLogAppendFile(const FILECHAR_t* pszFormat = _FN("log%s") _FN(MIME_EXT_log), int iLogKeepDays = 0, LOG_ATTR_MASK_t uAttrMask = LOG_ATTR_ALL_MASK, LOGLEV_TYPE eLogLevel = LOGLEV_ANY);
32  virtual ~cLogAppendFile();
33 
35  virtual bool IsLogged(LOG_ATTR_MASK_t uAttrMask, LOGLEV_TYPE eLogLevel) const // fast pre-check.
36  {
38  return m_LogFilter.IsLogged(uAttrMask, eLogLevel);
39  }
40  virtual HRESULT addEvent(cLogEvent* pEvent);
41 
42  virtual HRESULT FlushLogs() override
43  {
46  if (FAILED(hRes))
47  return hRes;
48  return cLogAppender::FlushLogs();
49  }
50 
52  };
54 };
55 #endif // _INC_cLogAppendFile_H
#define _FN(x)
like _T(x) macro for static text file names.
Definition: FileName.h:23
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
#define FAILED(x)
Definition: HResult.h:30
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
#define MIME_EXT_log
Definition: cMime.h:49
Definition: cLogAppendFile.h:22
virtual HRESULT FlushLogs() override
Definition: cLogAppendFile.h:42
virtual bool IsLogged(LOG_ATTR_MASK_t uAttrMask, LOGLEV_TYPE eLogLevel) const
filter and add the event to the log file.
Definition: cLogAppendFile.h:35
cLogEventParams m_LogFilter
filter what might be put in the file.
Definition: cLogAppendFile.h:28
Definition: cLogFileDay.h:21
virtual HRESULT FlushX() override
Definition: cLogFileDay.h:69
Definition: cLogAppender.h:257
Definition: cLogAppender.h:72
bool IsLogged(LOG_ATTR_MASK_t uAttrMask, LOGLEV_TYPE eLogLevel) const
Definition: cLogAppender.h:117
Definition: cLogEvent.h:18
virtual HRESULT FlushLogs()
Definition: cLogAppender.h:188
Definition: cRefPtr.h:22
Definition: cRefPtr.h:225
Definition: cMesh.h:22
cRefPtr< cLogAppendFile > cLogAppendFilePtr
Definition: cLogAppendFile.h:53
@ LOG_ATTR_ALL_MASK
Definition: cLogAppender.h:54
LOGLEV_TYPE
Definition: cLogLevel.h:22
UINT32 LOG_ATTR_MASK_t
Definition: cLogAppender.h:56
char FILECHAR_t
a UTF8 char in a file name. like TCHAR
Definition: FileName.h:22