]> git.tdb.fi Git - builder.git/blob - source/logger.cpp
Refactor logger to do message formatting internally
[builder.git] / source / logger.cpp
1 #include <msp/core/algorithm.h>
2 #include <msp/io/print.h>
3 #include "logger.h"
4
5 using namespace std;
6 using namespace Msp;
7
8 void Logger::enable_channel(const string &chan)
9 {
10         auto i = lower_bound(enabled_channels, chan);
11         if(i==enabled_channels.end() || *i!=chan)
12                 enabled_channels.insert(i, chan);
13 }
14
15 void Logger::disable_channel(const string &chan)
16 {
17         auto i = lower_bound(enabled_channels, chan);
18         if(i!=enabled_channels.end() && *i==chan)
19                 enabled_channels.erase(i);
20 }
21
22 bool Logger::is_channel_enabled(const string &chan) const
23 {
24         auto i = lower_bound(enabled_channels, chan);
25         return (i!=enabled_channels.end() && *i==chan);
26 }
27
28 void Logger::log(const string &chan, const string &message) const
29 {
30         if(is_channel_enabled(chan))
31                 print(message);
32 }
33
34 void Logger::print(const string &message) const
35 {
36         IO::print("%s\n", message);
37 }