Twitch SDK (Internal)
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ttv::TracerBase Class Referenceabstract

#include <tracer.h>

Inheritance diagram for ttv::TracerBase:
ttv::ITracer ttv::AndroidTracer ttv::StandardTracer ttv::WinTracer

Public Member Functions

 TracerBase ()
 
virtual ~TracerBase ()
 
virtual void Message (const char *component, const TTV_MessageLevel messageLevel, const char *format,...) override
 
virtual void MessageVaList (const char *component, const TTV_MessageLevel messageLevel, const char *format, va_list args) override
 
virtual TTV_ErrorCode SetOutputFile (const std::string &path) override
 
virtual TTV_ErrorCode SetOutputFile (const std::wstring &path) override
 
virtual TTV_ErrorCode SetComponentMessageLevel (const char *component, TTV_MessageLevel level) override
 
virtual TTV_ErrorCode GetComponentMessageLevel (const char *component, TTV_MessageLevel &level) override
 
virtual TTV_ErrorCode SetGlobalMessageLevel (TTV_MessageLevel level) override
 
virtual TTV_ErrorCode GetGlobalMessageLevel (TTV_MessageLevel &level) override
 

Protected Member Functions

bool ShouldLog (const char *component, const TTV_MessageLevel messageLevel)
 
void GetLinePrefix (const char *component, const char *messageLevel, char *buffer, size_t bufferLength)
 
virtual void Log (const char *component, const char *messageLevel, const char *format, va_list args)=0
 
virtual bool OpenFile (const std::string &path)
 
virtual bool OpenFile (const std::wstring &path)
 
virtual void LogToFile (const char *message)
 
virtual bool CloseFile ()
 

Protected Attributes

std::vector< char > mPrintBuffer
 
std::unordered_map< std::string, TTV_MessageLevelmTraceLevels
 
TTV_MessageLevel mGlobalTraceLevel
 
std::shared_ptr< IMutexmMutex
 Tries to keep logging on different threads done atomically. More...
 
FILE * mTraceFile
 

Constructor & Destructor Documentation

◆ TracerBase()

ttv::TracerBase::TracerBase ( )

◆ ~TracerBase()

virtual ttv::TracerBase::~TracerBase ( )
virtual

Member Function Documentation

◆ CloseFile()

virtual bool ttv::TracerBase::CloseFile ( )
protectedvirtual

◆ GetComponentMessageLevel()

virtual TTV_ErrorCode ttv::TracerBase::GetComponentMessageLevel ( const char *  component,
TTV_MessageLevel level 
)
overridevirtual

Implements ttv::ITracer.

◆ GetGlobalMessageLevel()

virtual TTV_ErrorCode ttv::TracerBase::GetGlobalMessageLevel ( TTV_MessageLevel level)
overridevirtual

Implements ttv::ITracer.

◆ GetLinePrefix()

void ttv::TracerBase::GetLinePrefix ( const char *  component,
const char *  messageLevel,
char *  buffer,
size_t  bufferLength 
)
protected

◆ Log()

virtual void ttv::TracerBase::Log ( const char *  component,
const char *  messageLevel,
const char *  format,
va_list  args 
)
protectedpure virtual

◆ LogToFile()

virtual void ttv::TracerBase::LogToFile ( const char *  message)
protectedvirtual

◆ Message()

virtual void ttv::TracerBase::Message ( const char *  component,
const TTV_MessageLevel  messageLevel,
const char *  format,
  ... 
)
overridevirtual

Implements ttv::ITracer.

◆ MessageVaList()

virtual void ttv::TracerBase::MessageVaList ( const char *  component,
const TTV_MessageLevel  messageLevel,
const char *  format,
va_list  args 
)
overridevirtual

Implements ttv::ITracer.

◆ OpenFile() [1/2]

virtual bool ttv::TracerBase::OpenFile ( const std::string &  path)
protectedvirtual

◆ OpenFile() [2/2]

virtual bool ttv::TracerBase::OpenFile ( const std::wstring &  path)
protectedvirtual

Reimplemented in ttv::WinTracer.

◆ SetComponentMessageLevel()

virtual TTV_ErrorCode ttv::TracerBase::SetComponentMessageLevel ( const char *  component,
TTV_MessageLevel  level 
)
overridevirtual

Implements ttv::ITracer.

◆ SetGlobalMessageLevel()

virtual TTV_ErrorCode ttv::TracerBase::SetGlobalMessageLevel ( TTV_MessageLevel  level)
overridevirtual

Implements ttv::ITracer.

◆ SetOutputFile() [1/2]

virtual TTV_ErrorCode ttv::TracerBase::SetOutputFile ( const std::string &  path)
overridevirtual

Implements ttv::ITracer.

◆ SetOutputFile() [2/2]

virtual TTV_ErrorCode ttv::TracerBase::SetOutputFile ( const std::wstring &  path)
overridevirtual

Implements ttv::ITracer.

◆ ShouldLog()

bool ttv::TracerBase::ShouldLog ( const char *  component,
const TTV_MessageLevel  messageLevel 
)
protected

Member Data Documentation

◆ mGlobalTraceLevel

TTV_MessageLevel ttv::TracerBase::mGlobalTraceLevel
protected

◆ mMutex

std::shared_ptr<IMutex> ttv::TracerBase::mMutex
protected

Tries to keep logging on different threads done atomically.

◆ mPrintBuffer

std::vector<char> ttv::TracerBase::mPrintBuffer
protected

◆ mTraceFile

FILE* ttv::TracerBase::mTraceFile
protected

◆ mTraceLevels

std::unordered_map<std::string, TTV_MessageLevel> ttv::TracerBase::mTraceLevels
protected

The documentation for this class was generated from the following file: