PLCnext API Documentation 25.0.2.69
LogSettings.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/System/Commons/Diagnostics/Logging/LogLevel.hpp"
9
10// Impl forwards
11namespace Log4Arp
12{
13class LogSettings;
14}
15
16namespace Arp { namespace System { namespace Commons { namespace Diagnostics { namespace Logging
17{
18
24class ARP_CXX_SYMBOL_EXPORT LogSettings
25{
26public: // usings
27 using Impl = Log4Arp::LogSettings;
28
29public: // construction
30 LogSettings(const String& iniFile, LogLevel logLevel = LogLevel::None);
31 LogSettings(LogLevel logLevel, bool consoleLogging = true, const String& logFile = String::Empty, const String& layoutPattern = String::Empty);
32
33 // canonical construction/destruction/assignment
35 LogSettings(LogSettings&& arg)noexcept;
39
40public: // setter/getter operations
41 bool HasRootLogLevel(void)const;
42 bool HasIniFile(void)const;
43 bool HasLogFile(void)const;
44 LogLevel GetRootLogLevel(void)const;
45 String GetIniFile(void)const;
46 String GetLogFile(void)const;
47 String GetLayoutPattern(void)const;
48 bool IsConsoleLoggingEnabled(void)const;
49
50public: // internal operations
51 Impl& GetImpl(void);
52 const Impl& GetImpl(void)const;
53
54private: // Impl usings
56
57private: // Impl fields
58 Pimpl pimpl;
59};
60
61}}}}} // end of namespace Arp::System::Commons::Diagnostics::Logging
Adapter class to implement PImpl idiom.
Definition: PimplPtr.hxx:15
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
This class is used to compound all log settings of the application for initializing the log engine.
Definition: LogSettings.hpp:25
LogSettings(LogSettings &&arg) noexcept
Default move constructor.
LogSettings & operator=(const LogSettings &arg)
Default copy-assignment operator.
LogSettings(const LogSettings &arg)
Default copy constructor.
LogSettings & operator=(LogSettings &&arg) noexcept
Default move-assignment operator.
Root namespace for the PLCnext API