|
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") | |
| None | emit (self, logging.LogRecord record) |
Public Attributes | |
| str | session = session |
| str | kafka_address = kafka_address |
| str | kafka_topic = kafka_topic |
| 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" ) |
Definition at line 29 of file ERSKafkaLogHandler.py.
|
staticprotected |
Definition at line 47 of file ERSKafkaLogHandler.py.
| None ERSKafkaLogHandler.ERSKafkaLogHandler.emit | ( | self, | |
| logging.LogRecord | record ) |
Definition at line 62 of file ERSKafkaLogHandler.py.
| str ERSKafkaLogHandler.ERSKafkaLogHandler.kafka_address = kafka_address |
Definition at line 38 of file ERSKafkaLogHandler.py.
| str ERSKafkaLogHandler.ERSKafkaLogHandler.kafka_topic = kafka_topic |
Definition at line 39 of file ERSKafkaLogHandler.py.
| ERSKafkaLogHandler.ERSKafkaLogHandler.publisher |
Definition at line 41 of file ERSKafkaLogHandler.py.
| str ERSKafkaLogHandler.ERSKafkaLogHandler.session = session |
Definition at line 37 of file ERSKafkaLogHandler.py.