31#include <sys/syscall.h>
35#include <libavutil/log.h>
53 static std::shared_ptr<cSoftHdLogger> instance(
new cSoftHdLogger());
78 pid_t threadId = syscall(__NR_gettid);
79 snprintf(fmt,
sizeof(fmt),
"[%d] [softhddevice] %s", threadId, format);
82 vsyslog(LOG_ERR, fmt, ap);
99 pid_t threadId = syscall(__NR_gettid);
100 snprintf(fmt,
sizeof(fmt),
"[%d] [softhddevice] %s", threadId, format);
102 va_start(ap, format);
103 vsyslog(LOG_ERR, fmt, ap);
118 pid_t threadId = syscall(__NR_gettid);
119 snprintf(fmt,
sizeof(fmt),
"[%d] [softhddevice] %s", threadId, format);
121 va_start(ap, format);
122 vsyslog(LOG_WARNING, fmt, ap);
137 pid_t threadId = syscall(__NR_gettid);
138 snprintf(fmt,
sizeof(fmt),
"[%d] [softhddevice] %s", threadId, format);
140 va_start(ap, format);
141 vsyslog(LOG_INFO, fmt, ap);
156 pid_t threadId = syscall(__NR_gettid);
157 snprintf(fmt,
sizeof(fmt),
"[%d] [softhddevice] %s", threadId, format);
159 va_start(ap, format);
160 vsyslog(LOG_DEBUG, fmt, ap);
174 char prefix[20] =
"";
178 strcpy(prefix,
"[AV_Sync]");
181 strcpy(prefix,
"[Sound]");
184 strcpy(prefix,
"[Osd]");
187 strcpy(prefix,
"[Drm]");
190 strcpy(prefix,
"[Codec]");
193 strcpy(prefix,
"[Still]");
196 strcpy(prefix,
"[Trick]");
199 strcpy(prefix,
"[Media]");
204 strcpy(prefix,
"[OpenGL]");
207 strcpy(prefix,
"[Packet]");
210 strcpy(prefix,
"[Grab]");
216 pid_t threadId = syscall(__NR_gettid);
217 snprintf(fmt,
sizeof(fmt),
"[%d] [softhddevice]%s %s", threadId, prefix, format);
219 va_start(ap, format);
220 vsyslog(LOG_DEBUG, fmt, ap);
235 char prefix[20] =
"";
236 pid_t threadId = syscall(__NR_gettid);
238 strcpy(prefix,
"[FFMpeg]");
239 snprintf(format,
sizeof(format),
"[%d] [softhddevice]%s %s", threadId, prefix, fmt);
241 vsyslog(LOG_DEBUG, format, vl);
252 logger->LogFFmpeg(fmt, vl);
static std::shared_ptr< cSoftHdLogger > GetLogger()
Get an instance to the global logger.
void LogInfo(const char *format,...)
Log to LOG_INFO.
void LogError(const char *format,...)
Log to LOG_ERR.
void LogFFmpeg(const char *, va_list)
Log to LOG_DEBUG and add prefix [FFMpeg] to output.
void LogDebug(const char *format,...)
Log to LOG_DEBUG.
std::atomic< int > m_logLevel
loglevel (see Logger flags above)
void LogWarning(const char *format,...)
Log to LOG_WARNING.
static void LogFFmpegCallback(void *, int, const char *, va_list)
Callback for ffmpeg logs.
void SetLogLevel(int level)
Set the loglevel.
cSoftHdLogger(void)=default
void LogFatal(const char *format,...)
Log to LOG_ERR and abort.
void LogDebug2(const int cat, const char *format,...)
Log to LOG_DEBUG and add logging category to output.
Logger class header file.
#define L_OPENGL_TIME_ALL
#define L_DEBUG
Logger flags.