44 auto loglevel = setup.options().get<
int>(
"log-level");
48 std::stringstream rdhprintout;
49 for (
auto it = parser.
begin(),
end = parser.
end(); it !=
end; ++it) {
53 auto const* raw = it.raw();
55 auto const* payload = it.data();
57 size_t payloadSize = it.size();
59 size_t offset = it.offset();
62 const auto* dh = it.o2DataHeader();
64 if (dh != lastDataHeader) {
65 if (!rdhprintout.str().empty()) {
66 LOG(info) << rdhprintout.str();
67 rdhprintout.str(std::string());
70 if (loglevel > 1 || dh->splitPayloadIndex == 0) {
71 rdhprintout << fmt::format(
"DH: {}/{}/{}", dh->dataOrigin, dh->dataDescription, dh->subSpecification) <<
" "
72 <<
" TF " << dh->tfCounter <<
" firstOrbit " << dh->firstTForbit <<
" Run " << dh->runNumber <<
" |";
78 rdhprintout <<
" " +
std::to_string(dh->splitPayloadParts) +
" part(s)";
80 rdhprintout <<
" payload size " << dh->payloadSize;
82 const auto* dph = it.o2DataProcessingHeader();
84 rdhprintout <<
" | DPH: "
85 <<
" Start " << dph->startTime <<
" dT " << dph->duration <<
" Creation " << dph->creation;
87 rdhprintout << std::endl;
89 rdhprintout << DPLRawParser<>::RDHInfo(it) << std::endl;
91 rdhprintout << it <<
" payload size " << it.size() << std::endl;
96 LOG(info) << rdhprintout.str();
100 {
"log-level", VariantType::Int, 1, {
"Logging level [0-2]"}}}});
ConfigParamRegistry & options() const