Log: Add possibility of set default logger (for initialization)
This commit is contained in:
parent
fca5aeb9cd
commit
308a603324
|
|
@ -41,6 +41,7 @@ namespace Nz
|
|||
|
||||
static bool IsEnabled();
|
||||
|
||||
static void SetDefaultLogger(AbstractLogger* defaultLogger);
|
||||
static void SetLogger(AbstractLogger* logger);
|
||||
|
||||
static void Write(const String& string);
|
||||
|
|
@ -53,6 +54,7 @@ namespace Nz
|
|||
static bool Initialize();
|
||||
static void Uninitialize();
|
||||
|
||||
static AbstractLogger* s_defaultLogger;
|
||||
static AbstractLogger* s_logger;
|
||||
static bool s_enabled;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -52,6 +52,22 @@ namespace Nz
|
|||
return s_enabled;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Sets the default logger
|
||||
*
|
||||
* \param defaultLogger Default AbstractLogger
|
||||
*/
|
||||
|
||||
void Log::SetDefaultLogger(AbstractLogger* defaultLogger)
|
||||
{
|
||||
if (s_defaultLogger != &s_stdLogger)
|
||||
delete s_defaultLogger;
|
||||
|
||||
s_defaultLogger = defaultLogger;
|
||||
if (!s_defaultLogger)
|
||||
s_defaultLogger = &s_stdLogger;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Sets the logger
|
||||
*
|
||||
|
|
@ -111,7 +127,7 @@ namespace Nz
|
|||
|
||||
bool Log::Initialize()
|
||||
{
|
||||
SetLogger(new FileLogger());
|
||||
SetLogger(s_defaultLogger);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -121,12 +137,14 @@ namespace Nz
|
|||
|
||||
void Log::Uninitialize()
|
||||
{
|
||||
SetDefaultLogger(nullptr);
|
||||
SetLogger(nullptr);
|
||||
}
|
||||
|
||||
NazaraStaticSignalImpl(Log, OnLogWrite);
|
||||
NazaraStaticSignalImpl(Log, OnLogWriteError);
|
||||
|
||||
AbstractLogger* Log::s_defaultLogger = &s_stdLogger;
|
||||
AbstractLogger* Log::s_logger = &s_stdLogger;
|
||||
bool Log::s_enabled = true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue