Jpp
examples
JLogger
JMessageLogger.cc
Go to the documentation of this file.
1
#include <string>
2
#include <iostream>
3
#include <iomanip>
4
5
#include "
JLogger/JStreamLogger.hh
"
6
#include "
JLogger/JControlHostLogger.hh
"
7
#include "
JLogger/JMessageLogger.hh
"
8
#include "
JLogger/JMessageStream.hh
"
9
10
#include "
Jeep/JParser.hh
"
11
#include "
Jeep/JMessage.hh
"
12
13
14
/**
15
* \file
16
*
17
* Example program to test message logging.
18
* \author mdejong
19
*/
20
int
main
(
int
argc,
char
* argv[])
21
{
22
using namespace
std
;
23
24
string
message_logger;
25
bool
use_cout;
26
bool
use_cin;
27
bool
off;
28
int
debug
;
29
30
try
{
31
32
JParser<>
zap(
"Example program to test message logging."
);
33
34
zap[
'M'
] =
make_field
(message_logger) =
"localhost"
;
35
zap[
'c'
] =
make_field
(use_cout);
36
zap[
'C'
] =
make_field
(use_cin);
37
zap[
'x'
] =
make_field
(off);
38
zap[
'd'
] =
make_field
(
debug
) = 3;
39
40
zap(argc, argv);
41
}
42
catch
(
const
exception &error) {
43
FATAL
(error.what() << endl);
44
}
45
46
using namespace
JPP
;
47
48
cout.tie(&cerr);
49
50
JLogger* out = NULL;
51
52
if
(use_cout)
53
out =
new
JStreamLogger(cout);
54
else
55
out =
new
JControlHostLogger(message_logger);
56
57
JMessageLogger logger(out, argv[0],
debug
);
58
59
if
(off) {
60
logger.setLevel(JMessageLogger::OFF);
61
}
62
63
if
(!use_cin) {
64
65
logger.debug (
"hello world"
);
66
logger.warning(
"hello world"
);
67
logger.error (
"hello world"
);
68
logger.notice (
"hello world"
);
69
logger.status (
"hello world"
);
70
71
JErrorStream(logger) <<
"hello"
<<
' '
<<
"world"
<<
' '
<< hex << 15;
72
73
}
else
{
74
75
for
(
string
buffer; ; ) {
76
77
cout <<
"> "
<< flush;
78
79
getline
(cin, buffer);
80
81
if
(buffer !=
""
)
82
logger.notice(buffer);
83
else
84
break
;
85
}
86
}
87
}
JStreamLogger.hh
JMessage.hh
JMessageStream.hh
JControlHostLogger.hh
JPARSER::JParser
Utility class to parse command line options.
Definition:
JParser.hh:1493
JPP
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Definition:
JAAnetToolkit.hh:37
debug
int debug
debug level
Definition:
JSirene.cc:59
JParser.hh
make_field
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Definition:
JParser.hh:1954
std
Definition:
jaanetDictionary.h:36
main
int main(int argc, char *argv[])
Definition:
JMessageLogger.cc:20
FATAL
#define FATAL(A)
Definition:
JMessage.hh:67
JLANG::getline
std::istream & getline(std::istream &in, JString &object)
Read string from input stream until end of line.
Definition:
JString.hh:468
JMessageLogger.hh
Generated by
1.8.16