DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
ers
src
Severity.cpp
Go to the documentation of this file.
1
/*
2
* DUNE DAQ modification notice:
3
* This file has been modified from the original ATLAS ers source for the DUNE DAQ project.
4
* Fork baseline commit: 8267df82a4f6fe6bf02c4014923eba19eddc4614 (2020-04-14).
5
* Renamed since fork: yes (from src/Severity.cxx to src/Severity.cpp).
6
*
7
* Original copyright:
8
* Copyright (C) 2001-2020 CERN for the benefit of the ATLAS collaboration.
9
* Licensed under the Apache License, Version 2.0.
10
*/
11
12
#include <assert.h>
13
#include <sstream>
14
#include <
ers/ers.hpp
>
15
16
namespace
17
{
18
const
char
* SeverityNames[] =
19
{
20
"DEBUG"
,
21
"LOG"
,
22
"INFO"
,
23
"WARNING"
,
24
"ERROR"
,
25
"FATAL"
26
};
27
}
28
29
ERS_DECLARE_ISSUE
(
ers
,
30
BadSeverity,
31
"string \""
<< severity <<
"\" does not contain valid severity"
,
32
((std::string)severity) )
33
34
35
40
std::string
41
ers::to_string
(
ers::severity
severity )
42
{
43
assert(
ers::Debug
<= severity && severity <=
ers::Fatal
);
44
return
SeverityNames[severity];
45
}
46
52
std::string
53
ers::to_string
(
ers::Severity
severity
)
54
{
55
assert(
ers::Debug
<=
severity
&&
severity
<=
ers::Fatal
);
56
57
if
(
severity
.type ==
ers::Debug
)
58
{
59
std::ostringstream out;
60
out << SeverityNames[
severity
] <<
"_"
<<
severity
.rank;
61
return
out.str();
62
}
63
return
SeverityNames[
severity
.type];
64
}
65
70
ers::severity
71
ers::parse
(
const
std::string &
string
,
ers::severity
& s )
72
{
73
for
(
short
ss =
ers::Debug
; ss <=
ers::Fatal
; ++ss )
74
{
75
if
(
string
== SeverityNames[ss] )
76
{
77
return
( s = (
ers::severity
)ss );
78
}
79
}
80
throw
ers::BadSeverity(
ERS_HERE
,
string
);
81
}
82
87
ers::Severity
88
ers::parse
(
const
std::string &
string
,
ers::Severity
& s )
89
{
90
int
level = 0;
91
ers::severity
type
;
92
std::string::size_type pos =
string
.find(
'_'
);
93
if
( pos )
94
{
95
std::istringstream in(
string
.substr( pos + 1 ) );
96
in >> level;
97
ers::parse
(
string
.substr( 0, pos ),
type
);
98
}
99
else
100
{
101
ers::parse
(
string
,
type
);
102
}
103
return
( s =
ers::Severity
(
type
, level ) );
104
}
105
ERS_HERE
#define ERS_HERE
Definition
LocalContext.hpp:141
type
type
Definition
TriggerActivity_serialization.hpp:48
ers.hpp
ERS_DECLARE_ISSUE
#define ERS_DECLARE_ISSUE( namespace_name, class_name, message_, attributes)
Definition
macro.hpp:65
ers
Definition
Logger.hxx:202
ers::to_string
std::string to_string(severity s)
ers::parse
severity parse(const std::string &s, severity &)
Definition
Severity.cpp:71
ers::severity
severity
Definition
Severity.hpp:37
ers::Debug
@ Debug
Definition
Severity.hpp:37
ers::Fatal
@ Fatal
Definition
Severity.hpp:37
ers::Severity
Definition
Severity.hpp:40
Generated on
for DUNE-DAQ by
1.17.0