diff options
Diffstat (limited to 'src/inc/circularlog.h')
-rw-r--r-- | src/inc/circularlog.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/inc/circularlog.h b/src/inc/circularlog.h new file mode 100644 index 0000000000..60dd3f610c --- /dev/null +++ b/src/inc/circularlog.h @@ -0,0 +1,39 @@ +// +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +// + + +#ifndef _CIRCULARLOG_H__ + +#define _CIRCULARLOG_H__ + +#include "sstring.h" + +class CircularLog +{ +public: + CircularLog(); + ~CircularLog(); + + bool Init(const WCHAR* logname, const WCHAR* logHeader, DWORD maxSize = 1024*1024); + void Shutdown(); + void Log(const WCHAR* string); + +protected: + + void CheckForLogReset(BOOL fOverflow); + BOOL CheckLogHeader(); + HANDLE OpenFile(); + void CloseFile(); + + bool m_bInit; + SString m_LogFilename; + SString m_LogHeader; + SString m_OldLogFilename; + SString m_LockFilename; + DWORD m_MaxSize; + unsigned m_uLogCount; +}; + +#endif |