Go to the documentation of this file.00001 #ifndef MessageLogger_MessageLoggerDefaults_h
00002 #define MessageLogger_MessageLoggerDefaults_h
00003
00004
00005
00006
00007
00008
00024
00025
00026
00027
00028
00029
00030
00031
00032 #include "FWCore/Utilities/interface/JobMode.h"
00033
00034
00035
00036 #include <string>
00037 #include <vector>
00038 #include <map>
00039 #include <cassert>
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067 namespace edm {
00068 namespace service {
00069
00070 struct MessageLoggerDefaults {
00071 public:
00072 static const int NO_VALUE_SET = -45654;
00073
00074 struct Category {
00075 std::string threshold;
00076 int limit;
00077 int reportEvery;
00078 int timespan;
00079 Category() :
00080 threshold("")
00081 , limit(NO_VALUE_SET)
00082 , reportEvery(NO_VALUE_SET)
00083 , timespan(NO_VALUE_SET) {}
00084 };
00085
00086 struct Destination {
00087 std::string threshold;
00088 std::map<std::string,Category> category;
00089 std::map<std::string,Category> sev;
00090 std::string output;
00091 };
00092
00093
00094
00095 std::vector<std::string> categories;
00096 std::vector<std::string> destinations;
00097 std::vector<std::string> fwkJobReports;
00098 std::vector<std::string> statistics;
00099 std::map<std::string,Destination> destination;
00100
00101
00102
00103 std::string threshold (std::string const & dest);
00104 std::string output (std::string const & dest);
00105
00106 int limit (std::string const & dest, std::string const & cat);
00107 int reportEvery(std::string const & dest, std::string const & cat);
00108 int timespan (std::string const & dest, std::string const & cat);
00109
00110 int sev_limit (std::string const & dest, std::string const & sev);
00111 int sev_reportEvery(std::string const & dest, std::string const & sev);
00112 int sev_timespan (std::string const & dest, std::string const & sev);
00113
00114
00115
00116 void hardwireGridJobMode();
00117 void hardwireReleaseValidationJobMode();
00118 void hardwireAnalysisJobMode();
00119 void hardwireNilJobMode();
00120
00121 static edm::JobMode mode(std::string const & jm);
00122
00123
00124
00125 explicit MessageLoggerDefaults (edm::JobMode mode = GridJobMode) {
00126
00127
00128
00129 switch (mode) {
00130
00131
00132
00133
00134
00135
00136 case GridJobMode:
00137 hardwireGridJobMode();
00138 break;
00139 case ReleaseValidationJobMode:
00140 hardwireReleaseValidationJobMode();
00141 break;
00142 case AnalysisJobMode:
00143 hardwireAnalysisJobMode();
00144 break;
00145 case NilJobMode:
00146 hardwireNilJobMode();
00147 break;
00148 default:
00149
00150 bool Invalid_JobMode_in_ctor_of_MessageLoggerDefaults = false;
00151 assert (Invalid_JobMode_in_ctor_of_MessageLoggerDefaults);
00152 }
00153 }
00154
00155 };
00156
00157
00158
00159 }
00160 }
00161
00162
00163 #endif // MessageLogger_MessageLoggerDefaults_h