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!
cheers
Laura

  • 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?

Hi,

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.

Cheers,
Barth

1 Like

Infologger (https://github.com/AliceO2Group/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.

cheers,
Sylvain

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.

Hi @sy-c
What should I put in /etc/o2.d/infologger/infoLogger.cfg
to get local infoLoggerD and infoBrowser running on alio2-cr1-ctpctr
so that it uses central P2 infoLoggerServer/DB ?
Cheers, Anton

Hello Anton,
I have sent you an email with the instructions.
cheers,
Sylvain

Hi Sylvain,
I installed infoLogger on new RHEL8 and started o2-infologger-daemon.
Can you help with the following:

[root@alio2-cr1-ctpctr ~]# systemctl status o2-infologger-daemon
● o2-infologger-daemon.service - O2 infoLoggerD, local logging agent
   Loaded: loaded (/usr/lib/systemd/system/o2-infologger-daemon.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2024-01-18 13:31:49 CET; 2h 16min ago
 Main PID: 1767623 (o2-infologger-d)
    Tasks: 2 (limit: 298100)
   Memory: 1.0M
   CGroup: /system.slice/o2-infologger-daemon.service
           └─1767623 /opt/o2-InfoLogger/bin/o2-infologger-daemon -z file:/etc/o2.d/infologger/infoLogger.cfg

Jan 18 15:10:21 alio2-cr1-ctpctr.cern.ch o2-infologger-daemon[1767623]: 2024-01-18 15:10:21.274808  !  Transport to localhost:6006 (TCP) : connect error : Connection refused
Jan 18 15:15:21 alio2-cr1-ctpctr.cern.ch o2-infologger-daemon[1767623]: 2024-01-18 15:15:21.307139  !  Transport to localhost:6006 (TCP) : connect error : Connection refused
Jan 18 15:20:21 alio2-cr1-ctpctr.cern.ch o2-infologger-daemon[1767623]: 2024-01-18 15:20:21.340789  !  Transport to localhost:6006 (TCP) : connect error : Connection refused
Jan 18 15:25:21 alio2-cr1-ctpctr.cern.ch o2-infologger-daemon[1767623]: 2024-01-18 15:25:21.373467  !  Transport to localhost:6006 (TCP) : connect error : Connection refused
Jan 18 15:30:21 alio2-cr1-ctpctr.cern.ch o2-infologger-daemon[1767623]: 2024-01-18 15:30:21.406631  !  Transport to localhost:6006 (TCP) : connect error : Connection refused
Jan 18 15:35:21 alio2-cr1-ctpctr.cern.ch o2-infologger-daemon[1767623]: 2024-01-18 15:35:21.439129  !  Transport to localhost:6006 (TCP) : connect error : Connection refused
Jan 18 15:40:21 alio2-cr1-ctpctr.cern.ch o2-infologger-daemon[1767623]: 2024-01-18 15:40:21.471733  !  Transport to localhost:6006 (TCP) : connect error : Connection refused
Jan 18 15:43:41 alio2-cr1-ctpctr.cern.ch o2-infologger-daemon[1767623]: 2024-01-18 15:43:41.327710     New client: 1/1024
Jan 18 15:43:41 alio2-cr1-ctpctr.cern.ch o2-infologger-daemon[1767623]: 2024-01-18 15:43:41.327753     1 clients disconnected, now having 0/1024
Jan 18 15:45:21 alio2-cr1-ctpctr.cern.ch o2-infologger-daemon[1767623]: 2024-01-18 15:45:21.501036  !  Transport to localhost:6006 (TCP) : connect error : Connection refused
[root@alio2-cr1-ctpctr ~]# firewall-cmd --zone=public --list-all
...
ports: 50060-50076/tcp 50077/tcp 50090/tcp 50091/tcp 6006/tcp

Was solved by adding /etc/systemd/system/o2-infologger-daemon.service

ExecStart=/opt/o2-InfoLogger/bin/o2-infologger-daemon -z file:/etc/o2.d/infologger/infoLoggerD.cfg