A logger that logs to the Visual Studio output pane using OutputDebugString(). The name of the Logger defaults to "VSTUDIO_CONSOLE".
ALox text logger escape sequences (see class ESC) are removed and ignored.
Definition at line 31 of file vstudiologger.hpp.
#include <vstudiologger.hpp>
Public Method Index: | |
ALIB_API | VStudioLogger (const NString &name=nullptr) |
virtual ALIB_API | ~VStudioLogger () |
Destructs a VStudioLogger. | |
Public Method Index: inherited from TextLogger | |
virtual ALIB_API | ~TextLogger () override |
Destructs a TextLogger. | |
virtual ALIB_API void | ClearReplacements () |
Removes all pairs of searched strings and their replacement value. | |
FormatAutoSizes & | GetAutoSizes () |
FormatDateTime & | GetFormatDate () |
FormatMetaInfo & | GetFormatMetaInfo () |
FormatMultiLine & | GetFormatMultiLine () |
FormatOther & | GetFormatOther () |
FormatTimeDiff & | GetFormatTimeDiff () |
Replacements & | GetReplacements () |
virtual ALIB_API void | Log (detail::Domain &domain, Verbosity verbosity, BoxesMA &logables, detail::ScopeInfo &scope) override |
virtual ALIB_API void | ResetAutoSizes () |
virtual ALIB_API void | SetReplacement (const String &searched, const String &replacement) |
Public Method Index: inherited from Logger | |
virtual | ~Logger () override |
Destructs a logger. | |
const NString & | GetName () const |
const NString & | GetTypeName () const |
Public Method Index: inherited from RecursiveLock | |
~RecursiveLock () override | |
Destructor. With debug-compilations, asserts that this lock is not acquired. | |
ALIB_API void | AcquireRecursive (ALIB_DBG_TAKE_CI) |
virtual ALIB_API bool | DCSIsAcquired () const override |
virtual ALIB_API bool | DCSIsSharedAcquired () const override |
ALIB_API void | ReleaseRecursive (ALIB_DBG_TAKE_CI) |
ALIB_API bool | TryAcquire (ALIB_DBG_TAKE_CI) |
Public Method Index: inherited from DbgCriticalSections::AssociatedLock | |
virtual | ~AssociatedLock () |
Virtual Destructor. | |
Protected Field Index: | |
AString | outputString |
Protected Field Index: inherited from TextLogger | |
lang::system::CalendarDateTime | callerDateTime |
AString | logBuf |
The internal log Buffer. | |
AString | msgBuf |
The buffers for converting the logables. | |
bool | usesStdStreams |
Variable | varFormatAutoSizes |
Variable | varFormatDateTime |
Variable | varFormatMetaInfo |
Variable | varFormatMultiLine |
Variable | varFormatOther |
Variable | varFormatTimeDiff |
Variable | varReplacements |
Protected Field Index: inherited from Logger | |
NString32 | Name |
NString32 | TypeName |
Protected Field Index: inherited from RecursiveLock | |
std::recursive_mutex | mutex |
Protected Method Index: | |
virtual ALIB_API void | AcknowledgeLox (detail::LoxImpl *lox, lang::ContainerOp op) override |
virtual ALIB_API integer | logSubstring (const String &buffer, integer start, integer length) |
virtual ALIB_API bool | notifyLogOp (lang::Phase phase) |
virtual ALIB_API void | notifyMultiLineOp (lang::Phase) |
Empty implementation, not needed for this class. | |
Protected Method Index: inherited from PlainTextLogger | |
PlainTextLogger (const NString &name, const NString &typeName, bool pUsesStdStreams) | |
virtual | ~PlainTextLogger () override |
Destructs a MemoryLogger. | |
virtual ALIB_API void | logText (detail::Domain &domain, Verbosity verbosity, AString &msg, detail::ScopeInfo &scope, int lineNumber) override |
Protected Method Index: inherited from TextLogger | |
ALIB_API | TextLogger (const NString &pName, const NString &typeName, bool pUsesStdStreams) |
virtual ALIB_API void | processVariable (const NString &domainPath, Verbosity verbosity, detail::ScopeInfo &scope, AString &dest, Substring &variable) |
virtual ALIB_API void | writeMetaInfo (AString &buffer, detail::Domain &domain, Verbosity verbosity, detail::ScopeInfo &scope) |
virtual ALIB_API void | writeTimeDiff (AString &buffer, int64_t diffNanos) |
Protected Method Index: inherited from Logger | |
Logger (const NString &name, const NString &typeName) | |
Additional Inherited Members | |
Public Field Index: inherited from PlainTextLogger | |
bool | PruneESCSequences = true |
Public Field Index: inherited from TextLogger | |
ObjectConverter * | Converter = nullptr |
TickConverter | DateConverter |
bool | FormatWarningOnce = false |
Public Field Index: inherited from Logger | |
integer | CntLogs =0 |
time::Ticks | TimeOfCreation |
The creation time of the Logger. | |
time::Ticks | TimeOfLastLog |
Timestamp of the last log operation. | |
Public Field Index: inherited from RecursiveLock | |
DbgLockAsserter | Dbg |
The debug tool instance. | |
|
protected |
A character buffer used for the creation of zero-terminated output strings required by the VStudio logger interface.
If ALIB_CHARACTERS_WIDE is set, this string also acts as a converter to wide characters.
Definition at line 42 of file vstudiologger.hpp.
|
explicit |
Creates a VStudioLogger.
name | (Optional) The name of the Logger, defaults to "VSTUDIO_CONSOLE". |
Definition at line 25 of file vstudiologger.cpp.
|
virtual |
Destructs a VStudioLogger.
Definition at line 32 of file vstudiologger.cpp.
|
overrideprotectedvirtual |
Invokes parent method. Then performs some VStudio-related adoptions.
lox | The Lox to acknowledge insertion or removal |
op | The operation. Either ContainerOp::Insert or ContainerOp::Remove. |
Reimplemented from TextLogger.
Definition at line 35 of file vstudiologger.cpp.
Write the given region of the given AString to the destination buffer.
buffer | The string to write a portion of. |
start | The start of the portion in buffer to write out. |
length | The length of the portion in buffer to write out. |
Implements PlainTextLogger.
Definition at line 52 of file vstudiologger.cpp.
|
protectedvirtual |
Start a new log line. Appends a new-line character sequence to previously logged lines.
phase | Indicates the beginning or end of a log operation. |
Implements PlainTextLogger.
Definition at line 45 of file vstudiologger.cpp.
|
inlineprotectedvirtual |
Empty implementation, not needed for this class.
Implements TextLogger.
Definition at line 97 of file vstudiologger.hpp.