Jpp test-rotations-new
the software that should make you happy
Loading...
Searching...
No Matches
JMessageLogger.cc
Go to the documentation of this file.
1#include <string>
2#include <iostream>
3#include <iomanip>
4
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 */
20int 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
49 JLogger* out = NULL;
50
51 if (use_cout)
52 out = new JStreamLogger(cout);
53 else
54 out = new JControlHostLogger(message_logger);
55
56 JMessageLogger logger(out, argv[0], debug);
57
58 if (off) {
59 logger.setLevel(JMessageLogger::OFF);
60 }
61
62 if (!use_cin) {
63
64 logger.debug ("hello world");
65 logger.warning("hello world");
66 logger.error ("hello world");
67 logger.notice ("hello world");
68 logger.status ("hello world");
69
70 JErrorStream(logger) << "hello" << ' ' << "world" << ' ' << hex << 15;
71
72 } else {
73
74 for (string buffer; ; ) {
75
76 cout << "> " << flush;
77
78 getline(cin, buffer);
79
80 if (buffer != "")
81 logger.notice(buffer);
82 else
83 break;
84 }
85 }
86}
int main(int argc, char *argv[])
General purpose message reporting.
Message reporting compatible with STL output stream operations.
General purpose messaging.
#define FATAL(A)
Definition JMessage.hh:67
int debug
debug level
Definition JSirene.cc:72
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Definition JParser.hh:2142
Message logging based on ControlHost.
Interface for logging messages.
Definition JLogger.hh:22
void error(const JMessage_t &message)
void warning(const JMessage_t &message)
void debug(const JMessage_t &message)
void status(const JMessage_t &message)
void notice(const JMessage_t &message)
void setLevel(const int __level)
Set debug level.
Message logging based on std::ostream.
Utility class to parse command line options.
Definition JParser.hh:1698
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).