8 #include "Arp/System/Core/CommonTypeName.hxx"
9 #include "Arp/System/Commons/Diagnostics/Logging/Logger.hxx"
10 #include "Arp/System/Commons/Diagnostics/Logging/LogLevel.hpp"
12 namespace Arp {
namespace System {
namespace Commons {
namespace Diagnostics {
namespace Logging
17 template<
class Derived,
bool IsSingleton = false,
bool IsStaticClass = false>
27 static void InitializeLogger(
const char* loggerName =
nullptr);
35 template<
class Derived,
bool IsSingleton,
bool IsStaticClass>
44 template<
class Derived,
bool IsSingleton,
bool IsStaticClass>
47 if (loggerName ==
nullptr || ::strlen(loggerName) == 0)
53 log.Initialize(loggerName);
59 template <
typename Derived,
bool IsSingleton,
bool IsStaticClass>
60 Logger<Derived> Loggable<Derived, IsSingleton, IsStaticClass>::log;
65 template<
typename Derived>
90 template<
typename Derived>
111 template <
typename Derived>
This (meta programming) class provides the typename according the CLS (common language specification)...
Definition: CommonTypeName.hxx:30
This template specialization Loggable<T, false, true> shall be used by pure static classes.
Definition: Loggable.hxx:92
static void InitializeLogger(void)
This operation must be called explicitly for loggable static classes in IComponent::Initialize() or c...
Definition: Loggable.hxx:101
Definition: Loggable.hxx:67
Definition: Loggable.hxx:19
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API