Alternate e697dbe9c5997e35395fe158628dd8c5209481da
for Visual Studio 2022 and Windows 11.
読み取り中…
検索中…
一致する文字列を見つけられません
Log.h
[詳解]
1// ----------------------------------------------------------------------------
6
7#pragma once
8
9#include "File.h"
10#include "FileUtility.h"
11#include "TString.h"
12#include "CriticalSection.h"
13
14namespace alt
15{
18 enum class LogLevel
19 {
21 Fatal,
23 Error,
25 Warn,
27 Info,
29 Debug,
31 Trace
32 };
33
37 {
38 public:
40 APIENTRY Log ();
41
47 APIENTRY Log (
48 LogLevel logLevel, LPCTSTR fileName, SHORT sRotation,
49 DWORD dwFileSize);
50
52 APIENTRY ~Log ();
53
62 BOOL APIENTRY Init (
63 LogLevel logLevel, LPCTSTR fileName, SHORT sRotation,
64 DWORD dwFileSize);
65
69 VOID APIENTRY Fatal (LPCTSTR message, DWORD dwThreadID = GetCurrentThreadId ());
70
74 VOID APIENTRY Error (LPCTSTR message, DWORD dwThreadID = GetCurrentThreadId ());
75
79 VOID APIENTRY Warn (LPCTSTR message, DWORD dwThreadID = GetCurrentThreadId ());
80
84 VOID APIENTRY Info (LPCTSTR message, DWORD dwThreadID = GetCurrentThreadId ());
85
89 VOID APIENTRY Debug (LPCTSTR message, DWORD dwThreadID = GetCurrentThreadId ());
90
94 VOID APIENTRY Trace (LPCTSTR message, DWORD dwThreadID = GetCurrentThreadId ());
95
96 protected:
97 BOOL APIENTRY AppendLog ();
98 BOOL APIENTRY CreateLog ();
99 BOOL APIENTRY OpenLog ();
100 VOID APIENTRY FindHistory ();
101 VOID APIENTRY RotateLogFile ();
102 LPCTSTR APIENTRY GetLogLevelString (LogLevel logLevel);
103
104 private:
105 VOID APIENTRY LogWrite (
106 LogLevel logLevel, LPCTSTR pctszMessage, DWORD dwThreadID);
107
112 SYSTEMTIME _localTime;
118 LPCTSTR _format = _T ("%04d/%02d/%02d %02d:%02d:%02d.%03d %5d %5s %s\r\n");
119
120 LPCTSTR _lpctszExtension = _T (".log");
121 LPCTSTR _lpctszLogFileName = _T ("%s.log");
122 LPCTSTR _lpctszSearchKeyword = _T ("??.log");
123 LPCTSTR _lpctszRotationFileName = _T ("%s%02d.log");
124
125 LPCTSTR _lpctszLogLevelFatal = _T ("Fatal");
126 LPCTSTR _lpctszLogLevelError = _T ("Error");
127 LPCTSTR _lpctszLogLevelWarn = _T ("Warn ");
128 LPCTSTR _lpctszLogLevelInfo = _T ("Info ");
129 LPCTSTR _lpctszLoglevelDebug = _T ("Debug");
130 LPCTSTR _lpctszLogLevelTrace = _T ("Trace");
131 };
132}
void Init()
ストラテジーの初期化を行います。
CriticalSectionに関するWindowsAPIを集約したクラス
#define DLL_DECLSPEC
Definition: framework.h:17
ファイルIOに関するWindowsAPIを集約したクラス
ファイルハンドルを伴わないファイルIOに関するWindowsAPIを集約した クラス
文字列に関するWindowsAPIを集約したクラス
CriticalSectionに関するWindowsAPIを集約したクラス
ファイルIOに関するWindowsAPIを集約したクラス
Definition: File.h:16
Fileをベースとしたログに関する機能を集約したクラス
Definition: Log.h:37
DWORD _dwFileSize
ログローテーション数
Definition: Log.h:116
File _file
Definition: Log.h:108
SYSTEMTIME _localTime
ログファイル完全名
Definition: Log.h:112
SHORT _sRotation
現在までに確認できる履歴ファイル数
Definition: Log.h:115
TString _baseFileName
出力ログレベル
Definition: Log.h:110
CriticalSection _lock
ログファイルサイズ
Definition: Log.h:117
LogLevel _level
現在出力中のログファイル
Definition: Log.h:109
SHORT _sFileCount
現在までに書き込んでいるログファイルサイズ
Definition: Log.h:114
DWORD _dwCurrentWriteSize
ログに出力するシステム時刻
Definition: Log.h:113
TString _logFileName
ログファイルユーザー設定名
Definition: Log.h:111
文字列に関するWindowsAPIを集約したクラス
Definition: TString.h:17
プロジェクト共通基底クラス
Definition: DBLibrary.h:12
LogLevel
ログの出力レベル
Definition: Log.h:19
@ Info
(3)情報
@ Warn
(2)警告
@ Fatal
(0)異常終了レベル
@ Error
(1)エラー
@ Debug
(4)デバッグ
@ Trace
(5)トレース