|
Solution46
|
ログ出力ライブラリクラス [詳解]
#include "LibLogOut.h"


クラス | |
| struct | SMappingInfo |
| 共有メモリ情報構造体 [詳解] | |
| struct | SProcessInfo |
| 参照プロセス情報構造体 [詳解] | |
公開型 | |
| enum | EOutputDevice { EOutputDevice::Debug = 0, EOutputDevice::Console, EOutputDevice::File, EOutputDevice::Size } |
| 出力デバイス種別列挙体 [詳解] | |
公開メンバ関数 | |
| virtual wchar_t const * | GetExeFile () noexcept |
| 実行ファイル名取得関数 [詳解] | |
| virtual bool | OutputString (wchar_t const *pszString) noexcept override |
| 文字列出力関数 [詳解] | |
| virtual bool | UpdateLineNumber () noexcept override |
| 行番号更新関数 [詳解] | |
| virtual int | GetLineNumber () noexcept override |
| 行番号取得関数 [詳解] | |
| virtual int | GetIndentCount () noexcept override |
| インデントカウント取得関数 [詳解] | |
| virtual bool | Indent () noexcept override |
| インデント関数 [詳解] | |
| virtual bool | Unindent () noexcept override |
| アンインデント関数 [詳解] | |
| virtual int | GetRefferCount () noexcept |
| 参照プロセスカウント取得関数 [詳解] | |
| virtual int | GetCount () noexcept |
| バッファカウント取得関数 [詳解] | |
| virtual bool | Flush () noexcept |
| フラッシュ関数 [詳解] | |
| virtual bool | SetDeviceProcess (EOutputDevice eDevice, DWORD dwProcessId) noexcept |
| 出力デバイスプロセス設定関数 [詳解] | |
基底クラス LibCommon::CMapping に属する継承公開メンバ関数 | |
| CMapping () noexcept | |
| コンストラクタ [詳解] | |
| virtual | ~CMapping () noexcept |
| デストラクタ [詳解] | |
| virtual HANDLE | GetHandle () const noexcept override |
| マッピングハンドル取得関数 [詳解] | |
| virtual LPVOID | GetView () const noexcept |
| ビューポインタ取得関数 [詳解] | |
| virtual void | Close () noexcept override |
| クローズ関数 [詳解] | |
| virtual bool | Create (DWORD dwSize, wchar_t const *pszObjectName=nullptr) noexcept |
| 作成関数 [詳解] | |
| virtual bool | Open (wchar_t const *pszObjectName) noexcept override |
| オープン関数 [詳解] | |
基底クラス LibCommon::CMutex に属する継承公開メンバ関数 | |
| CMutex () noexcept | |
| コンストラクタ [詳解] | |
| virtual | ~CMutex () noexcept |
| デストラクタ [詳解] | |
| virtual bool | Release () noexcept override |
| リリース関数 [詳解] | |
| virtual bool | Lock (DWORD dwTime=INFINITE) noexcept override |
| ロック関数 [詳解] | |
| virtual bool | Unlock () noexcept override |
| ロック解除関数 [詳解] | |
| virtual bool | Create (wchar_t const *pszObjectName=nullptr) noexcept |
| 作成関数 [詳解] | |
基底クラス LibCommon::CSync に属する継承公開メンバ関数 | |
| CSync () noexcept | |
| コンストラクタ [詳解] | |
| virtual | ~CSync () noexcept |
| デストラクタ [詳解] | |
| virtual bool | IsCreate () const noexcept |
| 新規作成状態取得関数 [詳解] | |
| virtual bool | Wait (DWORD dwTime=INFINITE) noexcept |
| ウェイト関数 [詳解] | |
基底クラス LibCommon::CStreamOut に属する継承公開メンバ関数 | |
| virtual bool | OutputChar (wchar_t ch) noexcept |
| 1文字出力関数 [詳解] | |
| virtual bool | OutputFormat (wchar_t const *pszFormat,...) noexcept |
| 書式設定文字列出力関数 [詳解] | |
| virtual bool | OutputArgs (wchar_t const *pszFormat, va_list vaArgs) noexcept |
| 引数リスト文字列出力関数 [詳解] | |
| virtual bool | OutputNewLine () noexcept |
| 改行出力関数 [詳解] | |
| virtual bool | OutputLineHeader () noexcept |
| 行ヘッダー出力関数 [詳解] | |
| virtual bool | OutputIndent () noexcept |
| インデント出力関数 [詳解] | |
| virtual bool | OutputLineString (wchar_t const *pszString, bool bHeader=true, bool bIndent=true) noexcept |
| 文字列行出力関数 [詳解] | |
| virtual bool | OutputLineFormat (wchar_t const *pszFormat,...) noexcept |
| 書式設定文字列行出力関数 [詳解] | |
| virtual bool | OutputLineArgs (wchar_t const *pszFormat, va_list vaArgs) noexcept |
| 引数リスト文字列行出力関数 [詳解] | |
| virtual bool | ExOutputLineFormat (bool bHeader, bool bIndent, wchar_t const *pszFormat,...) noexcept |
| 拡張書式設定文字列行出力関数 [詳解] | |
| virtual bool | ExOutputLineArgs (bool bHeader, bool bIndent, wchar_t const *pszFormat, va_list vaArgs) noexcept |
| 拡張引数リスト文字列行出力関数 [詳解] | |
静的公開メンバ関数 | |
| static CLibLogOut & | GetInstance () noexcept |
| インスタンス取得関数 [詳解] | |
| static wchar_t const * | GetProjectType () noexcept |
| プロジェクト種別取得関数 [詳解] | |
| static HINSTANCE | GetInstanceHandle () noexcept |
| インスタンスハンドル取得関数 [詳解] | |
静的公開変数類 | |
| static int const | DEVICE_MAX = static_cast< int >( EOutputDevice::Size ) |
| 出力デバイス最大値 [詳解] | |
限定公開メンバ関数 | |
| CLibLogOut () noexcept | |
| コンストラクタ [詳解] | |
| virtual | ~CLibLogOut () noexcept |
| デストラクタ [詳解] | |
| virtual bool | UpdateProcessInfo (bool bCurrent=false) noexcept |
| プロセス情報更新関数 [詳解] | |
| virtual bool | OutputDevice () noexcept |
| デバイス出力関数 [詳解] | |
基底クラス LibCommon::CStreamOut に属する継承限定公開メンバ関数 | |
| CStreamOut () noexcept | |
| コンストラクタ [詳解] | |
| virtual | ~CStreamOut () noexcept |
| デストラクタ [詳解] | |
静的限定公開メンバ関数 | |
| static DWORD WINAPI | SubThreadProc (LPVOID lpParam) noexcept |
| サブスレッド関数 [詳解] | |
| static bool | GetNewLogFilePath (wchar_t *pszPath, int nSize) noexcept |
| 新規ログ出力ファイルパス取得関数 [詳解] | |
限定公開変数類 | |
| SMappingInfo * | m_psMappingInfo |
| 共有メモリ情報構造体ポインタ [詳解] | |
| CEvent | m_cEventRequest |
| 要求イベント [詳解] | |
| CEvent | m_cEventNotify |
| 通知イベント [詳解] | |
| CFileStream | m_cFileLog |
| ログ出力ファイル [詳解] | |
| CThread | m_cThreadSub |
| サブスレッド [詳解] | |
| wchar_t | m_szExeFile [MAX_PATH] |
| 実行ファイル名 [詳解] | |
基底クラス LibCommon::CMapping に属する継承限定公開変数類 | |
| HANDLE | m_hMapping |
| マッピングハンドル [詳解] | |
| LPVOID | m_pView |
| ビューポインタ [詳解] | |
基底クラス LibCommon::CMutex に属する継承限定公開変数類 | |
| DWORD | m_dwLockCount |
| ロックカウント [詳解] | |
基底クラス LibCommon::CSync に属する継承限定公開変数類 | |
| HANDLE | m_hObject |
| オブジェクトハンドル [詳解] | |
| bool | m_bIsCreate |
| 新規作成フラグ [詳解] | |
基底クラス LibCommon::CStreamOut に属する継承限定公開変数類 | |
| int | m_nLine |
| 行番号 [詳解] | |
| int | m_nIndent |
| インデントカウント [詳解] | |
静的限定公開変数類 | |
| static int const | BUFFER_SIZE = ( 1024 * 1024 - 1 ) |
| 文字列バッファサイズ [詳解] | |
| static int const | PROCESS_MAX = 256 |
| 最大参照プロセス数 [詳解] | |
| static DWORD const | NOTIFY_WAIT = 3000 |
| 通知イベント待機時間 [詳解] | |
| static wchar_t const *const | OBJECT_NAME = L"LibLogOut::CLibLogOut" |
| オブジェクト名 [詳解] | |
| static wchar_t const *const | EVENT_REQUEST_FORMAT = L"LibLogOut::CLibLogOut.EventRequest#%04X" |
| 要求イベント名書式設定文字列 [詳解] | |
| static wchar_t const *const | EVENT_NOTIFY_NAME = L"LibLogOut::CLibLogOut.EventNotify" |
| 通知イベント名 [詳解] | |
| static CLibLogOut | s_cInstance |
| 静的インスタンス [詳解] | |
基底クラス LibCommon::CMapping に属する継承静的限定公開変数類 | |
| static wchar_t const *const | OBJECT_NAME_EXT = L".CMapping" |
| オブジェクト名拡張子 [詳解] | |
基底クラス LibCommon::CMutex に属する継承静的限定公開変数類 | |
| static wchar_t const *const | OBJECT_NAME_EXT = L".CMutex" |
| オブジェクト名拡張子 [詳解] | |
基底クラス LibCommon::CStreamOut に属する継承静的限定公開変数類 | |
| static int const | FORMAT_BUFFER_SIZE = ( 2048 - 1 ) |
| 書式設定文字列バッファサイズ [詳解] | |
非公開メンバ関数 | |
| CLibLogOut (CLibLogOut const &)=delete | |
| CLibLogOut & | operator= (CLibLogOut const &)=delete |
|
strong |
出力デバイス種別列挙体
出力デバイス種別列挙体です。
| 列挙値 | |
|---|---|
| Debug |
デバッグ出力 |
| Console |
コンソール出力 |
| File |
ファイル出力 |
| Size |
列挙体サイズ |
LibLogOut.h の 75 行目に定義があります。
|
explicitprotectednoexcept |
コンストラクタ
コンストラクタです。
| なし |
LibLogOut.cpp の 38 行目に定義があります。
参照先 LibCommon::CMapping::Close(), LibCommon::CMapping::Create(), DEVICE_MAX, EVENT_NOTIFY_NAME, EVENT_REQUEST_FORMAT, LibCommon::GetExeFileName(), GetNewLogFilePath(), LibCommon::CMapping::GetView(), LibCommon::CSync::IsCreate(), LibLogOut::CLibLogOut::SMappingInfo::m_bEnable, LibLogOut::CLibLogOut::SProcessInfo::m_dwProcessId, LibLogOut::CLibLogOut::SMappingInfo::m_dwProcessId, LibLogOut::CLibLogOut::SMappingInfo::m_nReffer, m_psMappingInfo, LibLogOut::CLibLogOut::SMappingInfo::m_sProcess, LibLogOut::CLibLogOut::SMappingInfo::m_szPath, NotifyConstructor, NotifyFatalError, OBJECT_NAME, PROCESS_MAX, SubThreadProc() (計21項目).

|
protectedvirtualnoexcept |
デストラクタ
デストラクタです。
| なし |
LibLogOut.cpp の 180 行目に定義があります。
参照先 ConsoleChar, ConsoleClearInput, ConsoleKbHitDirect, ConsoleNewLine, ConsoleWindowHandle, Flush(), LibLogOut::CLibLogOut::SMappingInfo::m_nCount, LibLogOut::CLibLogOut::SMappingInfo::m_nReffer, m_psMappingInfo, NotifyDestructor, UpdateProcessInfo().

|
privatedelete |
|
inlinevirtualnoexcept |
|
overridevirtualnoexcept |
文字列出力関数
文字列出力関数です。
| [in] | pszString | 文字列ポインタ |
LibCommon::CStreamOutを実装しています。
LibLogOut.cpp の 272 行目に定義があります。
参照先 Flush(), LibLogOut::CLibLogOut::SMappingInfo::m_nCount, m_psMappingInfo, LibLogOut::CLibLogOut::SMappingInfo::m_szBuffer, NotifyFatalError.

|
overridevirtualnoexcept |
行番号更新関数
行番号更新関数です。
| なし |
LibCommon::CStreamOutを再実装しています。
LibLogOut.cpp の 321 行目に定義があります。
参照先 LibLogOut::CLibLogOut::SMappingInfo::m_nLine, m_psMappingInfo.
|
overridevirtualnoexcept |
行番号取得関数
行番号取得関数です。
| なし |
LibCommon::CStreamOutを再実装しています。
LibLogOut.cpp の 337 行目に定義があります。
参照先 LibLogOut::CLibLogOut::SMappingInfo::m_nLine, m_psMappingInfo.
|
overridevirtualnoexcept |
インデントカウント取得関数
インデントカウント取得関数です。
| なし |
LibCommon::CStreamOutを再実装しています。
LibLogOut.cpp の 353 行目に定義があります。
参照先 LibLogOut::CLibLogOut::SMappingInfo::m_nIndent, m_psMappingInfo.
|
overridevirtualnoexcept |
インデント関数
インデント関数です。
| なし |
LibCommon::CStreamOutを再実装しています。
LibLogOut.cpp の 369 行目に定義があります。
参照先 LibLogOut::CLibLogOut::SProcessInfo::m_dwProcessId, LibLogOut::CLibLogOut::SProcessInfo::m_nIndent, LibLogOut::CLibLogOut::SMappingInfo::m_nIndent, m_psMappingInfo, LibLogOut::CLibLogOut::SMappingInfo::m_sProcess, NotifyFatalError, PROCESS_MAX, UpdateProcessInfo().

|
overridevirtualnoexcept |
アンインデント関数
アンインデント関数です。
| なし |
LibCommon::CStreamOutを再実装しています。
LibLogOut.cpp の 408 行目に定義があります。
参照先 LibLogOut::CLibLogOut::SProcessInfo::m_dwProcessId, LibLogOut::CLibLogOut::SProcessInfo::m_nIndent, LibLogOut::CLibLogOut::SMappingInfo::m_nIndent, m_psMappingInfo, LibLogOut::CLibLogOut::SMappingInfo::m_sProcess, NotifyFatalError, PROCESS_MAX, UpdateProcessInfo().

|
virtualnoexcept |
参照プロセスカウント取得関数
参照プロセスカウント取得関数です。
| なし |
LibLogOut.cpp の 447 行目に定義があります。
参照先 LibLogOut::CLibLogOut::SMappingInfo::m_nReffer, m_psMappingInfo.
|
virtualnoexcept |
バッファカウント取得関数
バッファカウント取得関数です。
| なし |
LibLogOut.cpp の 463 行目に定義があります。
参照先 LibLogOut::CLibLogOut::SMappingInfo::m_nCount, m_psMappingInfo.
|
virtualnoexcept |
フラッシュ関数
フラッシュ関数です。
| なし |
LibLogOut.cpp の 479 行目に定義があります。
参照先 DEVICE_MAX, EVENT_REQUEST_FORMAT, LibLogOut::CLibLogOut::SMappingInfo::m_bEnable, m_cEventNotify, LibLogOut::CLibLogOut::SMappingInfo::m_dwProcessId, LibLogOut::CLibLogOut::SMappingInfo::m_eDevice, LibLogOut::CLibLogOut::SMappingInfo::m_nCount, LibLogOut::CLibLogOut::SMappingInfo::m_nRequestPos, LibLogOut::CLibLogOut::SMappingInfo::m_nRequestSize, m_psMappingInfo, LibLogOut::CLibLogOut::SMappingInfo::m_szBuffer, NOTIFY_WAIT, LibCommon::CEvent::Open(), OutputDevice(), LibCommon::CEvent::Set(), UpdateProcessInfo(), LibCommon::CSync::Wait() (計17項目).
参照元 OutputString(), ~CLibLogOut().


|
virtualnoexcept |
出力デバイスプロセス設定関数
出力デバイスプロセス設定関数です。
| [in] | eDevice | デバイス種別 |
| [in] | dwProcessId | プロセスID |
LibLogOut.cpp の 563 行目に定義があります。
参照先 LibLogOut::CLibLogOut::SProcessInfo::m_dwProcessId, LibLogOut::CLibLogOut::SMappingInfo::m_dwProcessId, m_psMappingInfo, LibLogOut::CLibLogOut::SMappingInfo::m_sProcess, PROCESS_MAX, UpdateProcessInfo().

|
protectedvirtualnoexcept |
プロセス情報更新関数
プロセス情報更新関数です。
| [in] | bCurrent | カレントプロセス削除フラグ |
LibLogOut.cpp の 599 行目に定義があります。
参照先 LibCommon::CProcess::Close(), DEVICE_MAX, LibCommon::CStreamOut::ExOutputLineFormat(), LibLogOut::CLibLogOut::SProcessInfo::m_dwProcessId, LibLogOut::CLibLogOut::SMappingInfo::m_dwProcessId, LibLogOut::CLibLogOut::SProcessInfo::m_nIndent, LibLogOut::CLibLogOut::SMappingInfo::m_nIndent, LibLogOut::CLibLogOut::SMappingInfo::m_nReffer, m_psMappingInfo, LibLogOut::CLibLogOut::SMappingInfo::m_sProcess, NotifyFatalError, LibCommon::CProcess::Open(), PROCESS_MAX, LibCommon::CSync::Wait().
参照元 Flush(), Indent(), SetDeviceProcess(), Unindent(), ~CLibLogOut().


|
protectedvirtualnoexcept |
デバイス出力関数
デバイス出力関数です。
| なし |
LibLogOut.cpp の 703 行目に定義があります。
参照先 Console, ConsoleString, Debug, DebugString, File, m_cFileLog, LibLogOut::CLibLogOut::SMappingInfo::m_eDevice, LibLogOut::CLibLogOut::SMappingInfo::m_nRequestPos, LibLogOut::CLibLogOut::SMappingInfo::m_nRequestSize, m_psMappingInfo, LibLogOut::CLibLogOut::SMappingInfo::m_szBuffer, LibCommon::CFileStream::OutputString().
参照元 Flush(), SubThreadProc().


|
inlinestaticnoexcept |
|
staticnoexcept |
プロジェクト種別取得関数
プロジェクト種別取得関数です。
| なし |
LibLogOut.cpp の 755 行目に定義があります。
参照先 _PROJECT_TYPE.
参照元 AppTest::CAppTest::Main(), AppTest::CAppTestMenuConsole::ShowProjectInfo().

|
staticnoexcept |
インスタンスハンドル取得関数
インスタンスハンドル取得関数です。
| なし |
LibLogOut.cpp の 762 行目に定義があります。
参照元 AppTest::CAppTest::Main(), AppTest::CAppTestMenuConsole::ShowProjectInfo().

|
staticprotectednoexcept |
サブスレッド関数
サブスレッド関数です。
| [in] | lpParam | 引数ポインタ |
LibLogOut.cpp の 780 行目に定義があります。
参照先 m_cEventNotify, m_cEventRequest, NotifyFatalError, OutputDevice(), LibCommon::CEvent::Set(), LibCommon::CSync::Wait().
参照元 CLibLogOut().


|
staticprotectednoexcept |
新規ログ出力ファイルパス取得関数
新規ログ出力ファイルパス取得関数です。
| [out] | pszPath | 文字列バッファポインタ |
| [in] | nSize | バッファサイズ |
LibLogOut.cpp の 810 行目に定義があります。
参照先 EVENT_NOTIFY_NAME, EVENT_REQUEST_FORMAT, LibCommon::GetExeFilePath(), OBJECT_NAME, s_cInstance.
参照元 CLibLogOut().


|
privatedelete |
|
static |
|
staticprotected |
文字列バッファサイズ
LibLogOut.h の 351 行目に定義があります。
|
staticprotected |
最大参照プロセス数
LibLogOut.h の 352 行目に定義があります。
参照元 CLibLogOut(), Indent(), SetDeviceProcess(), Unindent(), UpdateProcessInfo().
|
staticprotected |
|
protected |
共有メモリ情報構造体ポインタ
LibLogOut.h の 395 行目に定義があります。
参照元 CLibLogOut(), Flush(), GetCount(), GetIndentCount(), GetLineNumber(), GetRefferCount(), Indent(), OutputDevice(), OutputString(), SetDeviceProcess(), Unindent(), UpdateLineNumber(), UpdateProcessInfo(), ~CLibLogOut().
|
protected |
|
protected |
|
protected |
|
protected |
サブスレッド
LibLogOut.h の 399 行目に定義があります。
|
protected |
実行ファイル名
LibLogOut.h の 400 行目に定義があります。
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |