Deskflow 1.22.0.197
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
LogOutputters.h
Go to the documentation of this file.
1/*
2 * Deskflow -- mouse and keyboard sharing utility
3 * SPDX-FileCopyrightText: (C) 2025 Deskflow Developers
4 * SPDX-FileCopyrightText: (C) 2012 - 2016 Symless Ltd.
5 * SPDX-FileCopyrightText: (C) 2002 Chris Schoeneman
6 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
7 */
8
9#pragma once
10
11#include "base/ILogOutputter.h"
12#include "common/Common.h"
13#include "mt/Thread.h"
14
16
22{
23public:
24 StopLogOutputter() = default;
25 ~StopLogOutputter() override = default;
26
27 // ILogOutputter overrides
28 void open(const char *title) override;
29 void close() override;
30 void show(bool showIfEmpty) override;
31 bool write(LogLevel level, const char *message) override;
32};
33
35
40{
41public:
43 ~ConsoleLogOutputter() override = default;
44
45 // ILogOutputter overrides
46 void open(const char *title) override;
47 void close() override;
48 void show(bool showIfEmpty) override;
49 bool write(LogLevel level, const char *message) override;
50 void flush() const;
51};
52
54
58
60{
61public:
62 explicit FileLogOutputter(const char *logFile);
63 ~FileLogOutputter() override = default;
64
65 // ILogOutputter overrides
66 void open(const char *title) override;
67 void close() override;
68 void show(bool showIfEmpty) override;
69 bool write(LogLevel level, const char *message) override;
70
71 void setLogFilename(const char *title);
72
73private:
74 std::string m_fileName;
75};
76
78
82{
83public:
84 SystemLogOutputter() = default;
85 ~SystemLogOutputter() override = default;
86
87 // ILogOutputter overrides
88 void open(const char *title) override;
89 void close() override;
90 void show(bool showIfEmpty) override;
91 bool write(LogLevel level, const char *message) override;
92};
93
95
103{
104public:
105 SystemLogger(const char *title, bool blockConsole);
106 SystemLogger(SystemLogger const &) = delete;
109
112
113private:
114 ILogOutputter *m_syslog = nullptr;
115 ILogOutputter *m_stop = nullptr;
116};
static int level
Definition ArchNetworkWinsock.cpp:30
LogLevel
Log levels.
Definition LogLevel.h:15
void open(const char *title) override
Open the outputter.
Definition LogOutputters.cpp:47
bool write(LogLevel level, const char *message) override
Write a message with level.
Definition LogOutputters.cpp:62
void flush() const
Definition LogOutputters.cpp:72
ConsoleLogOutputter()=default
void show(bool showIfEmpty) override
Show the outputter.
Definition LogOutputters.cpp:57
void close() override
Close the outputter.
Definition LogOutputters.cpp:52
~ConsoleLogOutputter() override=default
~FileLogOutputter() override=default
void show(bool showIfEmpty) override
Show the outputter.
Definition LogOutputters.cpp:179
bool write(LogLevel level, const char *message) override
Write a message with level.
Definition LogOutputters.cpp:143
void close() override
Close the outputter.
Definition LogOutputters.cpp:174
void open(const char *title) override
Open the outputter.
Definition LogOutputters.cpp:169
FileLogOutputter(const char *logFile)
Definition LogOutputters.cpp:132
void setLogFilename(const char *title)
Definition LogOutputters.cpp:137
Outputter interface.
Definition ILogOutputter.h:21
StopLogOutputter()=default
void open(const char *title) override
Open the outputter.
Definition LogOutputters.cpp:23
~StopLogOutputter() override=default
bool write(LogLevel level, const char *message) override
Write a message with level.
Definition LogOutputters.cpp:38
void close() override
Close the outputter.
Definition LogOutputters.cpp:28
void show(bool showIfEmpty) override
Show the outputter.
Definition LogOutputters.cpp:33
bool write(LogLevel level, const char *message) override
Write a message with level.
Definition LogOutputters.cpp:96
void close() override
Close the outputter.
Definition LogOutputters.cpp:86
~SystemLogOutputter() override=default
void show(bool showIfEmpty) override
Show the outputter.
Definition LogOutputters.cpp:91
SystemLogOutputter()=default
void open(const char *title) override
Open the outputter.
Definition LogOutputters.cpp:81
SystemLogger(SystemLogger &&)=delete
SystemLogger & operator=(SystemLogger const &)=delete
SystemLogger(const char *title, bool blockConsole)
Definition LogOutputters.cpp:106
SystemLogger(SystemLogger const &)=delete
~SystemLogger()
Definition LogOutputters.cpp:118
SystemLogger & operator=(SystemLogger &&)=delete