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"
13namespace Arp {
namespace System {
namespace Commons {
namespace Diagnostics {
namespace Logging
18template<
class Derived,
bool IsSingleton = false,
bool IsStaticClass = false>
28 static void InitializeLogger(
const char* loggerName =
nullptr);
36template<
class Derived,
bool IsSingleton,
bool IsStaticClass>
45template<
class Derived,
bool IsSingleton,
bool IsStaticClass>
48 if (loggerName ==
nullptr || ::strlen(loggerName) == 0)
54 log.Initialize(loggerName);
60template <
typename Derived,
bool IsSingleton,
bool IsStaticClass>
61Logger<Derived> Loggable<Derived, IsSingleton, IsStaticClass>::log;
66template<
typename Derived>
91template<
typename Derived>
112template <
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:93
static void InitializeLogger(void)
This operation must be called explicitly for loggable static classes in IComponent::Initialize() or c...
Definition: Loggable.hxx:102
Definition: Loggable.hxx:68
Definition: Loggable.hxx:20
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API