@@ -156,7 +156,8 @@ class Foundation_API Logger: public Channel
156
156
template <typename T, typename ... Args>
157
157
void fatal (const std::string& fmt, T arg1, Args&&... args)
158
158
{
159
- log (Poco::format (fmt, arg1, std::forward<Args>(args)...), Message::PRIO_FATAL);
159
+ if (fatal ())
160
+ logAlways (Poco::format (fmt, arg1, std::forward<Args>(args)...), Message::PRIO_FATAL);
160
161
}
161
162
162
163
void critical (const std::string& msg);
@@ -178,7 +179,8 @@ class Foundation_API Logger: public Channel
178
179
template <typename T, typename ... Args>
179
180
void critical (const std::string& fmt, T arg1, Args&&... args)
180
181
{
181
- log (Poco::format (fmt, arg1, std::forward<Args>(args)...), Message::PRIO_CRITICAL);
182
+ if (critical ())
183
+ logAlways (Poco::format (fmt, arg1, std::forward<Args>(args)...), Message::PRIO_CRITICAL);
182
184
}
183
185
184
186
void error (const std::string& msg);
@@ -200,7 +202,8 @@ class Foundation_API Logger: public Channel
200
202
template <typename T, typename ... Args>
201
203
void error (const std::string& fmt, T arg1, Args&&... args)
202
204
{
203
- log (Poco::format (fmt, arg1, std::forward<Args>(args)...), Message::PRIO_ERROR);
205
+ if (error ())
206
+ logAlways (Poco::format (fmt, arg1, std::forward<Args>(args)...), Message::PRIO_ERROR);
204
207
}
205
208
206
209
void warning (const std::string& msg);
@@ -222,7 +225,8 @@ class Foundation_API Logger: public Channel
222
225
template <typename T, typename ... Args>
223
226
void warning (const std::string& fmt, T arg1, Args&&... args)
224
227
{
225
- log (Poco::format (fmt, arg1, std::forward<Args>(args)...), Message::PRIO_WARNING);
228
+ if (warning ())
229
+ logAlways (Poco::format (fmt, arg1, std::forward<Args>(args)...), Message::PRIO_WARNING);
226
230
}
227
231
228
232
void notice (const std::string& msg);
@@ -244,7 +248,8 @@ class Foundation_API Logger: public Channel
244
248
template <typename T, typename ... Args>
245
249
void notice (const std::string& fmt, T arg1, Args&&... args)
246
250
{
247
- log (Poco::format (fmt, arg1, std::forward<Args>(args)...), Message::PRIO_NOTICE);
251
+ if (notice ())
252
+ logAlways (Poco::format (fmt, arg1, std::forward<Args>(args)...), Message::PRIO_NOTICE);
248
253
}
249
254
250
255
void information (const std::string& msg);
@@ -266,7 +271,8 @@ class Foundation_API Logger: public Channel
266
271
template <typename T, typename ... Args>
267
272
void information (const std::string& fmt, T arg1, Args&&... args)
268
273
{
269
- log (Poco::format (fmt, arg1, std::forward<Args>(args)...), Message::PRIO_INFORMATION);
274
+ if (information ())
275
+ logAlways (Poco::format (fmt, arg1, std::forward<Args>(args)...), Message::PRIO_INFORMATION);
270
276
}
271
277
272
278
void debug (const std::string& msg);
@@ -288,7 +294,8 @@ class Foundation_API Logger: public Channel
288
294
template <typename T, typename ... Args>
289
295
void debug (const std::string& fmt, T arg1, Args&&... args)
290
296
{
291
- log (Poco::format (fmt, arg1, std::forward<Args>(args)...), Message::PRIO_DEBUG);
297
+ if (debug ())
298
+ logAlways (Poco::format (fmt, arg1, std::forward<Args>(args)...), Message::PRIO_DEBUG);
292
299
}
293
300
294
301
void trace (const std::string& msg);
@@ -310,7 +317,8 @@ class Foundation_API Logger: public Channel
310
317
template <typename T, typename ... Args>
311
318
void trace (const std::string& fmt, T arg1, Args&&... args)
312
319
{
313
- log (Poco::format (fmt, arg1, std::forward<Args>(args)...), Message::PRIO_TRACE);
320
+ if (trace ())
321
+ logAlways (Poco::format (fmt, arg1, std::forward<Args>(args)...), Message::PRIO_TRACE);
314
322
}
315
323
316
324
void dump (const std::string& msg, const void * buffer, std::size_t length, Message::Priority prio = Message::PRIO_DEBUG);
@@ -468,6 +476,8 @@ class Foundation_API Logger: public Channel
468
476
Logger (const Logger&);
469
477
Logger& operator = (const Logger&);
470
478
479
+ void logAlways (const std::string& text, Message::Priority prio);
480
+
471
481
std::string _name;
472
482
Channel::Ptr _pChannel;
473
483
int _level;
@@ -674,6 +684,15 @@ inline void Logger::log(const std::string& text, Message::Priority prio, const c
674
684
}
675
685
676
686
687
+ inline void Logger::logAlways (const std::string& text, Message::Priority prio)
688
+ {
689
+ if (_pChannel)
690
+ {
691
+ _pChannel->log (Message (_name, text, prio));
692
+ }
693
+ }
694
+
695
+
677
696
inline void Logger::fatal (const std::string& msg)
678
697
{
679
698
log (msg, Message::PRIO_FATAL);
0 commit comments