wibble
1.1
Main Page
Namespaces
Classes
Files
File List
File Members
wibble
log
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
7
namespace
wibble {
8
namespace
log {
9
19
struct
Timestamper
:
public
Sender
20
{
21
Sender
*
next
;
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
33
struct
LevelFilter
:
public
log::Sender
34
{
35
Sender
*
next
;
36
log::Level
minLevel
;
37
38
LevelFilter
(
Sender
*
next
= 0,
log::Level
minLevel
=
log::INFO
);
39
virtual
~LevelFilter
();
40
41
virtual
void
send
(
log::Level
level,
const
std::string& msg);
42
};
43
47
struct
Tee
:
public
log::Sender
48
{
49
std::vector<Sender*>
next
;
50
51
Tee
();
52
// Shortcut to initialise with two streams
53
Tee
(
Sender
* first,
Sender
* second);
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
Generated on Wed Oct 23 2013 17:14:25 for wibble by
1.8.4