AWS SDK for C++
AWS SDK for C++
Loading...
Searching...
No Matches
FormattedLogSystem.h
Go to the documentation of this file.
1
6#pragma once
7
11
12#include <atomic>
13
14namespace Aws
15{
16 namespace Utils
17 {
18 namespace Logging
19 {
24 {
25 public:
27
32 virtual ~FormattedLogSystem() = default;
33
37 virtual LogLevel GetLogLevel(void) const override { return m_logLevel; }
41 void SetLogLevel(LogLevel logLevel) { m_logLevel.store(logLevel); }
42
46 virtual void Log(LogLevel logLevel, const char* tag, const char* formatStr, ...) override;
47
51 virtual void LogStream(LogLevel logLevel, const char* tag, const Aws::OStringStream &messageStream) override;
52
53 protected:
58 virtual void ProcessFormattedStatement(Aws::String&& statement) = 0;
59
60 private:
61 std::atomic<LogLevel> m_logLevel;
62 };
63
64 } // namespace Logging
65 } // namespace Utils
66} // namespace Aws
#define AWS_CORE_API
Definition: Core_EXPORTS.h:26
virtual void ProcessFormattedStatement(Aws::String &&statement)=0
virtual LogLevel GetLogLevel(void) const override
virtual void LogStream(LogLevel logLevel, const char *tag, const Aws::OStringStream &messageStream) override
virtual void Log(LogLevel logLevel, const char *tag, const char *formatStr,...) override
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
std::basic_ostringstream< char, std::char_traits< char >, Aws::Allocator< char > > OStringStream