PLCnext API Documentation 25.0.2.69
Logger.hxx
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/Base/Core/CommonTypeName.hxx"
9#include "Arp/System/Commons/Diagnostics/Logging/LoggerBase.hpp"
10namespace Arp { namespace System { namespace Commons { namespace Diagnostics { namespace Logging
11{
12
14template<class T = void>
15class Logger : public LoggerBase
16{
17public: // construction/destruction
18 Logger(void);
19};
20
22// inline methods of generic class Logger<T>
23
28template<class T>
31{
32}
33
35// template specialization class Logger<void> for explicit named logger
36
38template<>
39class Logger<void> : public LoggerBase
40{
41public: // construction/destruction
42 explicit Logger(const String& loggerName);
43};
44
49inline Logger<void>::Logger(const String& loggerName)
50 : LoggerBase(loggerName)
51{
52}
53
54}}}}} // end of namespace Arp::System::Commons::Diagnostics::Logging
This (meta programming) class provides the type-name according the CLS (common language specification...
Definition: CommonTypeName.hxx:33
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
This class shall be used as base class for all Logger.
Definition: LoggerBase.hpp:22
This class might be used for logging while the typename of the T determines the logger name.
Definition: Logger.hxx:16
Logger(void)
Constructs an Logger instance while using the common typename of T as logger name.
Definition: Logger.hxx:29
Root namespace for the PLCnext API