wibble 1.1
filters.h
Go to the documentation of this file.
1#ifndef WIBBLE_LOG_FILTERS_H
2#define WIBBLE_LOG_FILTERS_H
3
4#include <wibble/log/stream.h>
5#include <vector>
6
7namespace wibble {
8namespace log {
9
19struct Timestamper : public Sender
20{
22 std::string fmt;
23
24 Timestamper(Sender* next = 0, const std::string& fmt = "%b %e %T ");
25 virtual ~Timestamper();
26
27 virtual void send(Level level, const std::string& msg);
28};
29
33struct LevelFilter : public log::Sender
34{
37
39 virtual ~LevelFilter();
40
41 virtual void send(log::Level level, const std::string& msg);
42};
43
47struct Tee : public log::Sender
48{
49 std::vector<Sender*> next;
50
51 Tee();
52 // Shortcut to initialise with two streams
54 ~Tee();
55
56 virtual void send(log::Level level, const std::string& msg);
57};
58
59}
60}
61
62// vim:set ts=4 sw=4:
63#endif
Level
Urgency of a log message.
Definition stream.h:12
@ INFO
Definition stream.h:14
Definition amorph.h:17
Definition amorph.h:30
Log only messages whose level is >= minLevel.
Definition filters.h:34
virtual ~LevelFilter()
Definition filters.cpp:64
log::Level minLevel
Definition filters.h:36
virtual void send(log::Level level, const std::string &msg)
Log one line of text with the given level.
Definition filters.cpp:68
Sender * next
Definition filters.h:35
Handle sending a log message.
Definition stream.h:23
Send the same message to multiple streams.
Definition filters.h:48
~Tee()
Definition filters.cpp:80
std::vector< Sender * > next
Definition filters.h:49
virtual void send(log::Level level, const std::string &msg)
Log one line of text with the given level.
Definition filters.cpp:84
Tee()
Definition filters.cpp:74
Prepend timestamps to log lines.
Definition filters.h:20
virtual void send(Level level, const std::string &msg)
Log one line of text with the given level.
Definition filters.cpp:26
std::string fmt
Definition filters.h:22
virtual ~Timestamper()
Definition filters.cpp:22
Sender * next
Definition filters.h:21