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 |
出力デバイスプロセス設定関数 [詳解] | |
![]() | |
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 |
オープン関数 [詳解] | |
![]() | |
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 |
作成関数 [詳解] | |
![]() | |
CSync () noexcept | |
コンストラクタ [詳解] | |
virtual | ~CSync () noexcept |
デストラクタ [詳解] | |
virtual bool | IsCreate () const noexcept |
新規作成状態取得関数 [詳解] | |
virtual bool | Wait (DWORD dwTime=INFINITE) noexcept |
ウェイト関数 [詳解] | |
![]() | |
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 |
デバイス出力関数 [詳解] | |
![]() | |
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] |
実行ファイル名 [詳解] | |
![]() | |
HANDLE | m_hMapping |
マッピングハンドル [詳解] | |
LPVOID | m_pView |
ビューポインタ [詳解] | |
![]() | |
DWORD | m_dwLockCount |
ロックカウント [詳解] | |
![]() | |
HANDLE | m_hObject |
オブジェクトハンドル [詳解] | |
bool | m_bIsCreate |
新規作成フラグ [詳解] | |
![]() | |
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 |
静的インスタンス [詳解] | |
![]() | |
static wchar_t const *const | OBJECT_NAME_EXT = L".CMapping" |
オブジェクト名拡張子 [詳解] | |
![]() | |
static wchar_t const *const | OBJECT_NAME_EXT = L".CMutex" |
オブジェクト名拡張子 [詳解] | |
![]() | |
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 |