From 64cec3fd01cfdfb911cd6853f25cb7a88b78a94b Mon Sep 17 00:00:00 2001 From: Ardakaniz Date: Sun, 16 Oct 2016 18:20:05 +0200 Subject: [PATCH 1/6] AbstractLogger: Make IsStdReplicationEnabled const --- include/Nazara/Core/AbstractLogger.hpp | 2 +- include/Nazara/Core/FileLogger.hpp | 2 +- include/Nazara/Core/StdLogger.hpp | 2 +- src/Nazara/Core/FileLogger.cpp | 2 +- src/Nazara/Core/StdLogger.cpp | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/Nazara/Core/AbstractLogger.hpp b/include/Nazara/Core/AbstractLogger.hpp index d4cd772f5..fbe61c080 100644 --- a/include/Nazara/Core/AbstractLogger.hpp +++ b/include/Nazara/Core/AbstractLogger.hpp @@ -21,7 +21,7 @@ namespace Nz virtual void EnableStdReplication(bool enable) = 0; - virtual bool IsStdReplicationEnabled() = 0; + virtual bool IsStdReplicationEnabled() const = 0; virtual void Write(const String& string) = 0; virtual void WriteError(ErrorType type, const String& error, unsigned int line = 0, const char* file = nullptr, const char* function = nullptr); diff --git a/include/Nazara/Core/FileLogger.hpp b/include/Nazara/Core/FileLogger.hpp index d0e4fe2aa..5a66d0fda 100644 --- a/include/Nazara/Core/FileLogger.hpp +++ b/include/Nazara/Core/FileLogger.hpp @@ -25,7 +25,7 @@ namespace Nz void EnableTimeLogging(bool enable); void EnableStdReplication(bool enable) override; - bool IsStdReplicationEnabled() override; + bool IsStdReplicationEnabled() const override; bool IsTimeLoggingEnabled(); void Write(const String& string) override; diff --git a/include/Nazara/Core/StdLogger.hpp b/include/Nazara/Core/StdLogger.hpp index 430b5a7af..16fd0bb47 100644 --- a/include/Nazara/Core/StdLogger.hpp +++ b/include/Nazara/Core/StdLogger.hpp @@ -22,7 +22,7 @@ namespace Nz void EnableStdReplication(bool enable) override; - bool IsStdReplicationEnabled() override; + bool IsStdReplicationEnabled() const override; void Write(const String& string) override; void WriteError(ErrorType type, const String& error, unsigned int line = 0, const char* file = nullptr, const char* function = nullptr) override; diff --git a/src/Nazara/Core/FileLogger.cpp b/src/Nazara/Core/FileLogger.cpp index bac0cb099..0d3acce25 100644 --- a/src/Nazara/Core/FileLogger.cpp +++ b/src/Nazara/Core/FileLogger.cpp @@ -65,7 +65,7 @@ namespace Nz * \return true If replication is enabled */ - bool FileLogger::IsStdReplicationEnabled() + bool FileLogger::IsStdReplicationEnabled() const { return m_stdReplicationEnabled; } diff --git a/src/Nazara/Core/StdLogger.cpp b/src/Nazara/Core/StdLogger.cpp index e38daa077..c8dfc60bb 100644 --- a/src/Nazara/Core/StdLogger.cpp +++ b/src/Nazara/Core/StdLogger.cpp @@ -47,7 +47,7 @@ namespace Nz * \return Always returns true */ - bool StdLogger::IsStdReplicationEnabled() + bool StdLogger::IsStdReplicationEnabled() const { return true; } From fca5aeb9cdb00fc90be82d628ee794c0b17edc06 Mon Sep 17 00:00:00 2001 From: Ardakaniz Date: Sun, 16 Oct 2016 18:20:25 +0200 Subject: [PATCH 2/6] FileLogger: Make IsTimeLoggingEnabled const --- include/Nazara/Core/FileLogger.hpp | 2 +- src/Nazara/Core/FileLogger.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/Nazara/Core/FileLogger.hpp b/include/Nazara/Core/FileLogger.hpp index 5a66d0fda..d7b1d8f14 100644 --- a/include/Nazara/Core/FileLogger.hpp +++ b/include/Nazara/Core/FileLogger.hpp @@ -26,7 +26,7 @@ namespace Nz void EnableStdReplication(bool enable) override; bool IsStdReplicationEnabled() const override; - bool IsTimeLoggingEnabled(); + bool IsTimeLoggingEnabled() const; void Write(const String& string) override; void WriteError(ErrorType type, const String& error, unsigned int line = 0, const char* file = nullptr, const char* function = nullptr) override; diff --git a/src/Nazara/Core/FileLogger.cpp b/src/Nazara/Core/FileLogger.cpp index 0d3acce25..78733850b 100644 --- a/src/Nazara/Core/FileLogger.cpp +++ b/src/Nazara/Core/FileLogger.cpp @@ -75,7 +75,7 @@ namespace Nz * \return true If logging of the time is enabled */ - bool FileLogger::IsTimeLoggingEnabled() + bool FileLogger::IsTimeLoggingEnabled() const { return m_timeLoggingEnabled; } From 308a60332486a3566234635e5606ac1c72638e47 Mon Sep 17 00:00:00 2001 From: Ardakaniz Date: Sun, 16 Oct 2016 18:21:05 +0200 Subject: [PATCH 3/6] Log: Add possibility of set default logger (for initialization) --- include/Nazara/Core/Log.hpp | 2 ++ src/Nazara/Core/Log.cpp | 20 +++++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/include/Nazara/Core/Log.hpp b/include/Nazara/Core/Log.hpp index fc64c8a49..2a19c2c6b 100644 --- a/include/Nazara/Core/Log.hpp +++ b/include/Nazara/Core/Log.hpp @@ -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; }; diff --git a/src/Nazara/Core/Log.cpp b/src/Nazara/Core/Log.cpp index 9e6b13353..561d7c815 100644 --- a/src/Nazara/Core/Log.cpp +++ b/src/Nazara/Core/Log.cpp @@ -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; } From 495976bff66608ec77a5611eecb9683b99ef612a Mon Sep 17 00:00:00 2001 From: Ardakaniz Date: Sun, 16 Oct 2016 18:34:01 +0200 Subject: [PATCH 4/6] Remove DefaultLogger, just accept a SetLogger before initialization --- include/Nazara/Core/Log.hpp | 2 -- src/Nazara/Core/Log.cpp | 25 ++++++------------------- 2 files changed, 6 insertions(+), 21 deletions(-) diff --git a/include/Nazara/Core/Log.hpp b/include/Nazara/Core/Log.hpp index 2a19c2c6b..fc64c8a49 100644 --- a/include/Nazara/Core/Log.hpp +++ b/include/Nazara/Core/Log.hpp @@ -41,7 +41,6 @@ namespace Nz static bool IsEnabled(); - static void SetDefaultLogger(AbstractLogger* defaultLogger); static void SetLogger(AbstractLogger* logger); static void Write(const String& string); @@ -54,7 +53,6 @@ namespace Nz static bool Initialize(); static void Uninitialize(); - static AbstractLogger* s_defaultLogger; static AbstractLogger* s_logger; static bool s_enabled; }; diff --git a/src/Nazara/Core/Log.cpp b/src/Nazara/Core/Log.cpp index 561d7c815..4503c3da6 100644 --- a/src/Nazara/Core/Log.cpp +++ b/src/Nazara/Core/Log.cpp @@ -52,22 +52,6 @@ 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 * @@ -127,7 +111,12 @@ namespace Nz bool Log::Initialize() { - SetLogger(s_defaultLogger); + if (s_logger == s_stdLogger) + { + s_logger = new FileLogger(); + } + + SetLogger(s_logger); return true; } @@ -137,14 +126,12 @@ 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; } From 72fa0adcfd89dd0232acbce3daaed7d2d1f20c5b Mon Sep 17 00:00:00 2001 From: Ardakaniz Date: Sun, 16 Oct 2016 18:39:05 +0200 Subject: [PATCH 5/6] Fix compilation + codingstyle --- src/Nazara/Core/Log.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/Nazara/Core/Log.cpp b/src/Nazara/Core/Log.cpp index 4503c3da6..963b173e0 100644 --- a/src/Nazara/Core/Log.cpp +++ b/src/Nazara/Core/Log.cpp @@ -111,10 +111,8 @@ namespace Nz bool Log::Initialize() { - if (s_logger == s_stdLogger) - { + if (s_logger == &s_stdLogger) s_logger = new FileLogger(); - } SetLogger(s_logger); return true; From fa32f70d14f9fa3b5dcd1e5a9e4c17ba86ef30ec Mon Sep 17 00:00:00 2001 From: Ardakaniz Date: Sun, 16 Oct 2016 19:21:06 +0200 Subject: [PATCH 6/6] Fix log crash --- src/Nazara/Core/Log.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Nazara/Core/Log.cpp b/src/Nazara/Core/Log.cpp index 963b173e0..1ff1ea373 100644 --- a/src/Nazara/Core/Log.cpp +++ b/src/Nazara/Core/Log.cpp @@ -112,9 +112,8 @@ namespace Nz bool Log::Initialize() { if (s_logger == &s_stdLogger) - s_logger = new FileLogger(); + SetLogger(new FileLogger()); - SetLogger(s_logger); return true; }