BubbleProfiler
0.3.0
by Peter Athron, Csaba Balazs, Michael Bardsley, Andrew Fowlie, Dylan Harries & Graham White
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
src
log_message.cpp
Go to the documentation of this file.
1
/*
2
* This file is part of BubbleProfiler.
3
*
4
* BubbleProfiler is free software: you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation, either version 3 of the License, or
7
* (at your option) any later version.
8
*
9
* BubbleProfiler is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with BubbleProfiler. If not, see <http://www.gnu.org/licenses/>.
16
*/
17
18
#include "
log_message.hpp
"
19
#include "
error.hpp
"
20
21
#include <ctime>
22
#include <sstream>
23
24
namespace
BubbleProfiler
{
25
26
namespace
logging {
27
28
std::string
to_log_level_string
(
Log_level
level)
29
{
30
switch
(level) {
31
case
Log_level::Trace
:
return
"trace"
;
32
case
Log_level::Debug
:
return
"debug"
;
33
case
Log_level::Info
:
return
"info"
;
34
case
Log_level::Warning
:
return
"warning"
;
35
case
Log_level::Error
:
return
"error"
;
36
case
Log_level::Fatal
:
return
"fatal"
;
37
default
:
throw
Error
(
"unrecognized log level"
);
38
}
39
40
throw
Error
(
"unrecognized log level"
);
41
}
42
43
std::string
Default_log_message::get_formatted_time
()
const
44
{
45
const
auto
time = Clock::to_time_t(
log_time
);
46
47
char
formatted[64];
48
strftime(formatted,
sizeof
(formatted),
"[%F %T %Z]"
, std::localtime(&time));
49
50
return
formatted;
51
}
52
53
std::string
Default_log_message::get_log_entry
()
const
54
{
55
std::stringstream entry;
56
57
entry <<
get_formatted_time
()
58
<<
" ["
<<
to_log_level_string
(
level
) <<
"]\t"
59
<<
message
<<
'\n'
;
60
61
return
entry.str();
62
}
63
64
}
// namespace logging
65
66
}
// namespace BubbleProfiler
log_message.hpp
BubbleProfiler::logging::Default_log_message::message
std::string message
Definition:
log_message.hpp:54
BubbleProfiler::logging::Default_log_message::get_log_entry
std::string get_log_entry() const override
Definition:
log_message.cpp:53
BubbleProfiler::logging::Log_level::Trace
BubbleProfiler::logging::Default_log_message::log_time
Time log_time
Definition:
log_message.hpp:55
BubbleProfiler::logging::to_log_level_string
std::string to_log_level_string(Log_level)
Definition:
log_message.cpp:28
BubbleProfiler::logging::Log_level::Warning
BubbleProfiler::logging::Default_log_message::get_formatted_time
std::string get_formatted_time() const
Definition:
log_message.cpp:43
BubbleProfiler::logging::Log_level::Fatal
error.hpp
BubbleProfiler::logging::Default_log_message::level
Log_level level
Definition:
log_message.hpp:53
BubbleProfiler::logging::Log_level
Log_level
Definition:
log_message.hpp:28
BubbleProfiler::logging::Log_level::Info
BubbleProfiler::logging::Log_level::Debug
BubbleProfiler::Error
Definition:
error.hpp:26
BubbleProfiler::logging::Log_level::Error
BubbleProfiler
Definition:
action.hpp:33
Generated on Wed Jan 2 2019 13:08:19 for BubbleProfiler by
1.8.11