InfoLogger differences

Dear all,

I have a short question related to the infologgers. Right now, we have 3 infologgers:

  • Framework/Logger.h
  • fairlogger/Logger.h
  • QualityControl/QcInfoLogger.h

What are the main differences between them? Why we have three, not one general?

And which infologger we should use in O2? In QC?

thank you for your help!

  • fairlogger/Logger.h: the generic component provided by fair.
  • Framework/Logger.h: wraps the above and provides some O2 specific helpers which were requested e.g. by the analysis community.
  • QualityControl/QcInfoLogger.h: I’ve no idea, I assume something similar to the above. @bvonhall might want to comment on that.

If you are in O2, please use Framework/Logger.h.

1 Like

Thanks for the information @eulisse !

And then for QC, should we always use the qc specific info logger, or the Framework/Logger.h, @bvonhall? And how is the QualityControl/QcInfoLogger.h different from the Framework/Logger.h?


The InfoLogger is an infrastructure that stores the logs collected on many machines in parallel. It is used in the online historically (HLT and DAQ). We use it in the QC however you can use the fairlogger or its O2 wrapper (Framework/Logger). These messages will be redirected to the infologger infrastructure.

@vmcb and @sy-c can probably say more about this topic.


1 Like

Infologger ( is the O2 official logging system, and all log messages should eventually go there.

Some software frameworks (O2 framework, QC) may add an extra wrapper to the native infoLogger API, please check with the corresponding responsibles. I do not recommend using fairlogger, as it is a separate system and - although it can be redirected to infologger - it does not map completely to the full set of metadata fields used to tag log messages.


1 Like

So short summary:

  • fairlogger/Logger.h should never be used
  • for O2 use Framework/Logger.h
  • for QC one can use both Framework/Logger.h and QualityControl/QcInfoLogger.h

Thanks for the info!

Then, for the TPC lets use Framework/Logger.h for consistency everywhere.