vdr-plugin-softhddevice-drm-gles 1.5.9-20e15de
logger.h
Go to the documentation of this file.
1
20#ifndef __LOGGER_H
21#define __LOGGER_H
22
23#include <atomic>
24#include <cstdarg>
25#include <memory>
26
27// FFmpeg log level
28#define AV_LOGLEVEL AV_LOG_INFO
29
40#define LOGFATAL cSoftHdLogger::GetLogger()->LogFatal
41#define LOGERROR cSoftHdLogger::GetLogger()->LogError
42#define LOGWARNING cSoftHdLogger::GetLogger()->LogWarning
43#define LOGINFO cSoftHdLogger::GetLogger()->LogInfo
44#define LOGDEBUG cSoftHdLogger::GetLogger()->LogDebug
45#define LOGDEBUG2 cSoftHdLogger::GetLogger()->LogDebug2
46
53#define L_DEBUG (1 << 0)
54#define L_AV_SYNC (1 << 1)
55#define L_SOUND (1 << 2)
56#define L_OSD (1 << 3)
57#define L_DRM (1 << 4)
58#define L_CODEC (1 << 5)
59#define L_STILL (1 << 6)
60#define L_TRICK (1 << 7)
61#define L_MEDIA (1 << 8)
62#define L_OPENGL (1 << 9)
63#define L_OPENGL_TIME (1 << 10)
64#define L_OPENGL_TIME_ALL (1 << 11)
65#define L_PACKET (1 << 12)
66#define L_GRAB (1 << 13)
67#define L_FFMPEG (1 << 14)
68
73public:
74 static std::shared_ptr<cSoftHdLogger> GetLogger();
75 static void LogFFmpegCallback(void *, int, const char *, va_list);
76 void LogFatal(const char *format, ...);
77 void LogError(const char *format, ...);
78 void LogWarning(const char *format, ...);
79 void LogInfo(const char *format, ...);
80 void LogDebug(const char *format, ...);
81 void LogDebug2(const int cat, const char *format, ...);
82 void LogFFmpeg(const char *, va_list);
83 void SetLogLevel(int level);
84
85private:
86 cSoftHdLogger(void) = default;
87 cSoftHdLogger(const cSoftHdLogger &) = delete;
89
90 std::atomic<int> m_logLevel = 0;
91};
92
93#endif
cSoftHdLogger - Logger class
Definition logger.h:72
static std::shared_ptr< cSoftHdLogger > GetLogger()
Get an instance to the global logger.
Definition logger.cpp:51
void LogInfo(const char *format,...)
Log to LOG_INFO.
Definition logger.cpp:129
void LogError(const char *format,...)
Log to LOG_ERR.
Definition logger.cpp:91
void LogFFmpeg(const char *, va_list)
Log to LOG_DEBUG and add prefix [FFMpeg] to output.
Definition logger.cpp:227
void LogDebug(const char *format,...)
Log to LOG_DEBUG.
Definition logger.cpp:148
std::atomic< int > m_logLevel
loglevel (see Logger flags above)
Definition logger.h:90
void LogWarning(const char *format,...)
Log to LOG_WARNING.
Definition logger.cpp:110
static void LogFFmpegCallback(void *, int, const char *, va_list)
Callback for ffmpeg logs.
Definition logger.cpp:249
cSoftHdLogger(const cSoftHdLogger &)=delete
void SetLogLevel(int level)
Set the loglevel.
Definition logger.cpp:62
cSoftHdLogger & operator=(const cSoftHdLogger &)=delete
cSoftHdLogger(void)=default
void LogFatal(const char *format,...)
Log to LOG_ERR and abort.
Definition logger.cpp:70
void LogDebug2(const int cat, const char *format,...)
Log to LOG_DEBUG and add logging category to output.
Definition logger.cpp:167