Skip to content

Commit 96e3019

Browse files
authored
Give the possibility to save the debug messages to the discardFile. (#1952)
* Give the possibility to save the debug messages to the discardFile. * Update TaskRunner.cxx
1 parent 91afbcb commit 96e3019

4 files changed

Lines changed: 10 additions & 6 deletions

File tree

Framework/include/QualityControl/DiscardFileParameters.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ struct DiscardFileParameters {
2828
std::string discardFile;
2929
unsigned long rotateMaxBytes = 0;
3030
unsigned int rotateMaxFiles = 0;
31+
bool debugInDiscardFile = false;
3132
};
3233

3334
} // namespace o2::quality_control::core

Framework/src/InfrastructureSpecReader.cxx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,8 @@ CommonSpec InfrastructureSpecReader::readSpecEntry<CommonSpec>(const std::string
7676
commonTree.get<int>("infologger.filterDiscardLevel", spec.infologgerDiscardParameters.fromLevel),
7777
commonTree.get<std::string>("infologger.filterDiscardFile", spec.infologgerDiscardParameters.discardFile),
7878
commonTree.get<u_long>("infologger.filterRotateMaxBytes", spec.infologgerDiscardParameters.rotateMaxBytes),
79-
commonTree.get<u_int>("infologger.filterRotateMaxFiles", spec.infologgerDiscardParameters.rotateMaxFiles)
79+
commonTree.get<u_int>("infologger.filterRotateMaxFiles", spec.infologgerDiscardParameters.rotateMaxFiles),
80+
commonTree.get<bool>("infologger.debugInDiscardFile", spec.infologgerDiscardParameters.debugInDiscardFile)
8081
};
8182
spec.postprocessingPeriod = commonTree.get<double>("postprocessing.periodSeconds", spec.postprocessingPeriod);
8283
spec.bookkeepingUrl = commonTree.get<std::string>("bookkeeping.url", spec.bookkeepingUrl);

Framework/src/QcInfoLogger.cxx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,10 @@ void QcInfoLogger::init(const std::string& facility,
7878
ILOG_INST.filterDiscardDebug(discardFileParameters.debug);
7979
ILOG_INST.filterDiscardLevel(discardFileParameters.fromLevel);
8080
if (!discardFileParameters.discardFile.empty()) {
81-
ILOG_INST.filterDiscardSetFile(discardFileParameters.discardFile.c_str(), discardFileParameters.rotateMaxBytes, discardFileParameters.rotateMaxFiles, 0, true /*Do not store Debug messages in file*/);
81+
ILOG_INST.filterDiscardSetFile(discardFileParameters.discardFile.c_str(), discardFileParameters.rotateMaxBytes, discardFileParameters.rotateMaxFiles, 0, discardFileParameters.debugInDiscardFile /*Do not store Debug messages in file*/);
8282
}
8383
ILOG(Debug, Support) << "QC infologger initialized : " << discardFileParameters.debug << " ; " << discardFileParameters.fromLevel << ENDM;
84-
ILOG(Debug, Devel) << " Discard debug ? " << discardFileParameters.debug << " / Discard from level ? " << discardFileParameters.fromLevel << " / Discard to file ? " << (!discardFileParameters.discardFile.empty() ? discardFileParameters.discardFile : "No") << " / Discard max bytes and files ? " << discardFileParameters.rotateMaxBytes << " = " << discardFileParameters.rotateMaxFiles << ENDM;
84+
ILOG(Debug, Devel) << " Discard debug ? " << discardFileParameters.debug << " / Discard from level ? " << discardFileParameters.fromLevel << " / Discard to file ? " << (!discardFileParameters.discardFile.empty() ? discardFileParameters.discardFile : "No") << " / Discard max bytes and files ? " << discardFileParameters.rotateMaxBytes << " = " << discardFileParameters.rotateMaxFiles << " / Put discarded debug messages in file ? " << discardFileParameters.debugInDiscardFile << ENDM;
8585

8686
setFacility(facility);
8787
setRun(run);
@@ -102,6 +102,8 @@ void QcInfoLogger::init(const std::string& facility,
102102
discardFileParameters.discardFile = config.get<std::string>("qc.config.infologger.filterDiscardFile", "");
103103
discardFileParameters.rotateMaxBytes = config.get<u_long>("infologger.filterRotateMaxBytes", 0);
104104
discardFileParameters.rotateMaxFiles = config.get<u_int>("infologger.filterRotateMaxFiles", 0);
105+
std::string debugInDiscardFile = config.get<std::string>("qc.config.infologger.debugInDiscardFile", "false");
106+
discardFileParameters.debugInDiscardFile = debugInDiscardFile == "true";
105107
init(facility, discardFileParameters, dplInfoLogger, dplContext, run, partitionName);
106108
}
107109

doc/Advanced.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1239,10 +1239,10 @@ should not be present in real configuration files.
12391239
"filterDiscardDebug": "false", "": "Set to 1 to discard debug and trace messages (default: false)",
12401240
"filterDiscardLevel": "2", "": "Message at this level or above are discarded (default: 21 - Trace)",
12411241
"filterDiscardFile": "", "": ["If set, the discarded messages will go to this file (default: <none>)",
1242-
"The keyword _ID_, if used, is replaced by the device ID.",
1243-
"Discarded Debug messages don't go there."],
1242+
"The keyword _ID_, if used, is replaced by the device ID."],
12441243
"filterRotateMaxBytes": "", "": "Maximum size of the discard file.",
1245-
"filterRotateMaxFiles": "", "": "Maximum number of discard files."
1244+
"filterRotateMaxFiles": "", "": "Maximum number of discard files.",
1245+
"debugInDiscardFile": "false", "": "If true, the debug discarded messages go to the file (default: false)."
12461246
},
12471247
"bookkeeping": { "": "Configuration of the bookkeeping (optional)",
12481248
"url": "localhost:4001", "": "Url of the bookkeeping API (port is usually different from web interface)"

0 commit comments

Comments
 (0)