|
DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
Public Member Functions | |
| __init__ (self, str session="Unknown", str kafka_address="monkafka.cern.ch:30092", str kafka_topic="ers_stream", str|None app_name=None) | |
| None | emit (self, logging.LogRecord record) |
Public Attributes | |
| str | session = session |
| str | kafka_address = kafka_address |
| str | kafka_topic = kafka_topic |
| app_name = app_name | |
| publisher | |
Static Protected Member Functions | |
| SeverityLevel | _convert_logging_level_to_ers_level (int level) |
A logging handler that sends log messages to the ERS system via Kafka.
Note 1: You need to have Kafka to use this correctly, to see the message in Grafana, you will need to have the full ERS stack running.
Note 2: IMPORTANT!! you MUST NOT use this handler on the root logger. Use it on a logger that you have created yourself (this is because the root logger is used by Kafka, and it creates a circular dependency).
Example:
```python
import logging
from erskafka.ERSKafkaLogHandler import ERSKafkaLogHandler
logger = logging.getLogger("my_logger") # NOTE, THIS IS NOT THE ROOT LOGGER!!!
# logger = logging.getLogger() # FORBIDDEN!!! Will should raise an exception
logger.setLevel(logging.DEBUG)
handler = ERSKafkaLogHandler(session="test")
logger.addHandler(handler)
logger.debug("This is a debug message")
```
Definition at line 9 of file ERSKafkaLogHandler.py.
| ERSKafkaLogHandler.ERSKafkaLogHandler.__init__ | ( | self, | |
| str | session = "Unknown", | ||
| str | kafka_address = "monkafka.cern.ch:30092", | ||
| str | kafka_topic = "ers_stream", | ||
| str | None | app_name = None ) |
Definition at line 29 of file ERSKafkaLogHandler.py.
|
staticprotected |
Definition at line 49 of file ERSKafkaLogHandler.py.
| None ERSKafkaLogHandler.ERSKafkaLogHandler.emit | ( | self, | |
| logging.LogRecord | record ) |
Definition at line 64 of file ERSKafkaLogHandler.py.
| ERSKafkaLogHandler.ERSKafkaLogHandler.app_name = app_name |
Definition at line 41 of file ERSKafkaLogHandler.py.
| str ERSKafkaLogHandler.ERSKafkaLogHandler.kafka_address = kafka_address |
Definition at line 39 of file ERSKafkaLogHandler.py.
| str ERSKafkaLogHandler.ERSKafkaLogHandler.kafka_topic = kafka_topic |
Definition at line 40 of file ERSKafkaLogHandler.py.
| ERSKafkaLogHandler.ERSKafkaLogHandler.publisher |
Definition at line 43 of file ERSKafkaLogHandler.py.
| str ERSKafkaLogHandler.ERSKafkaLogHandler.session = session |
Definition at line 38 of file ERSKafkaLogHandler.py.