vdr-plugin-softhddevice-drm-gles 1.4.0
logger.cpp
Go to the documentation of this file.
1
24#include "logger.h"
25
26/*****************************************************************************
27 * cSoftHdLogger class
28 ****************************************************************************/
29
34{
35 logLevel = 0;
36}
37
43std::shared_ptr<cSoftHdLogger> cSoftHdLogger::GetLogger()
44{
45 static std::shared_ptr<cSoftHdLogger> instance(new cSoftHdLogger());
46 return instance;
47}
48
55{
56 logLevel = level;
57}
58
62void cSoftHdLogger::LogFatal(const char *format, ...)
63{
64 if (SysLogLevel <= 0)
65 abort();
66
67 va_list ap;
68 char fmt[256];
69
70 pid_t threadId = syscall(__NR_gettid);
71 snprintf(fmt, sizeof(fmt), "[%d] [softhddevice] %s", threadId, format);
72
73 va_start(ap, format);
74 vsyslog(LOG_ERR, fmt, ap);
75 va_end(ap);
76
77 abort();
78}
79
83void cSoftHdLogger::LogError(const char *format, ...)
84{
85 if (SysLogLevel <= 0)
86 return;
87
88 va_list ap;
89 char fmt[256];
90
91 pid_t threadId = syscall(__NR_gettid);
92 snprintf(fmt, sizeof(fmt), "[%d] [softhddevice] %s", threadId, format);
93
94 va_start(ap, format);
95 vsyslog(LOG_ERR, fmt, ap);
96 va_end(ap);
97}
98
102void cSoftHdLogger::LogWarning(const char *format, ...)
103{
104 if (SysLogLevel <= 1)
105 return;
106
107 va_list ap;
108 char fmt[256];
109
110 pid_t threadId = syscall(__NR_gettid);
111 snprintf(fmt, sizeof(fmt), "[%d] [softhddevice] %s", threadId, format);
112
113 va_start(ap, format);
114 vsyslog(LOG_WARNING, fmt, ap);
115 va_end(ap);
116}
117
121void cSoftHdLogger::LogInfo(const char *format, ...)
122{
123 if (SysLogLevel <= 2)
124 return;
125
126 va_list ap;
127 char fmt[256];
128
129 pid_t threadId = syscall(__NR_gettid);
130 snprintf(fmt, sizeof(fmt), "[%d] [softhddevice] %s", threadId, format);
131
132 va_start(ap, format);
133 vsyslog(LOG_INFO, fmt, ap);
134 va_end(ap);
135}
136
140void cSoftHdLogger::LogDebug(const char *format, ...)
141{
142 if (!logLevel)
143 return;
144
145 va_list ap;
146 char fmt[256];
147
148 pid_t threadId = syscall(__NR_gettid);
149 snprintf(fmt, sizeof(fmt), "[%d] [softhddevice] %s", threadId, format);
150
151 va_start(ap, format);
152 vsyslog(LOG_DEBUG, fmt, ap);
153 va_end(ap);
154}
155
159void cSoftHdLogger::LogDebug2(const int cat, const char *format, ...)
160{
161 if (!format)
162 return;
163
164 va_list ap;
165 char fmt[256];
166 char prefix[20] = "";
167
168 switch (logLevel & cat) {
169 case L_AV_SYNC:
170 strcpy(prefix, "[AV_Sync]");
171 break;
172 case L_SOUND:
173 strcpy(prefix, "[Sound]");
174 break;
175 case L_OSD:
176 strcpy(prefix, "[Osd]");
177 break;
178 case L_DRM:
179 strcpy(prefix, "[Drm]");
180 break;
181 case L_CODEC:
182 strcpy(prefix, "[Codec]");
183 break;
184 case L_STILL:
185 strcpy(prefix, "[Still]");
186 break;
187 case L_TRICK:
188 strcpy(prefix, "[Trick]");
189 break;
190 case L_MEDIA:
191 strcpy(prefix, "[Media]");
192 break;
193 case L_OPENGL:
194 case L_OPENGL_TIME:
196 strcpy(prefix, "[OpenGL]");
197 break;
198 case L_PACKET:
199 strcpy(prefix, "[Packet]");
200 break;
201 case L_GRAB:
202 strcpy(prefix, "[Grab]");
203 break;
204 case L_DEBUG:
205 default:
206 return;
207 }
208 pid_t threadId = syscall(__NR_gettid);
209 snprintf(fmt, sizeof(fmt), "[%d] [softhddevice]%s %s", threadId, prefix, format);
210
211 va_start(ap, format);
212 vsyslog(LOG_DEBUG, fmt, ap);
213 va_end(ap);
214}
static std::shared_ptr< cSoftHdLogger > GetLogger()
Get an instance to the global logger.
Definition: logger.cpp:43
void LogInfo(const char *format,...)
Log to LOG_INFO.
Definition: logger.cpp:121
void LogError(const char *format,...)
Log to LOG_ERR.
Definition: logger.cpp:83
void LogDebug(const char *format,...)
Log to LOG_DEBUG.
Definition: logger.cpp:140
void LogWarning(const char *format,...)
Log to LOG_WARNING.
Definition: logger.cpp:102
void SetLogLevel(int level)
Set the loglevel.
Definition: logger.cpp:54
void LogFatal(const char *format,...)
Log to LOG_ERR and abort.
Definition: logger.cpp:62
int logLevel
loglevel (see Logger flags above)
Definition: logger.h:92
cSoftHdLogger(void)
cSoftHdLogger constructor
Definition: logger.cpp:33
void LogDebug2(const int cat, const char *format,...)
Log to LOG_DEBUG and add logging category to output.
Definition: logger.cpp:159
Logger class header file.
#define L_OPENGL_TIME_ALL
Definition: logger.h:69
#define L_DEBUG
Logger flags.
Definition: logger.h:58
#define L_SOUND
Definition: logger.h:60
#define L_DRM
Definition: logger.h:62
#define L_OPENGL_TIME
Definition: logger.h:68
#define L_GRAB
Definition: logger.h:71
#define L_AV_SYNC
Definition: logger.h:59
#define L_STILL
Definition: logger.h:64
#define L_CODEC
Definition: logger.h:63
#define L_PACKET
Definition: logger.h:70
#define L_OPENGL
Definition: logger.h:67
#define L_TRICK
Definition: logger.h:65
#define L_OSD
Definition: logger.h:61
#define L_MEDIA
Definition: logger.h:66
int SysLogLevel
Definition: test_stubs.cpp:11