LSST Applications g00274db5b6+edbf708997,g00d0e8bbd7+edbf708997,g199a45376c+5137f08352,g1fd858c14a+1d4b6db739,g262e1987ae+f4d9505c4f,g29ae962dfc+7156fb1a53,g2cef7863aa+73c82f25e4,g35bb328faa+edbf708997,g3e17d7035e+5b3adc59f5,g3fd5ace14f+852fa6fbcb,g47891489e3+6dc8069a4c,g53246c7159+edbf708997,g64539dfbff+9f17e571f4,g67b6fd64d1+6dc8069a4c,g74acd417e5+ae494d68d9,g786e29fd12+af89c03590,g7ae74a0b1c+a25e60b391,g7aefaa3e3d+536efcc10a,g7cc15d900a+d121454f8d,g87389fa792+a4172ec7da,g89139ef638+6dc8069a4c,g8d7436a09f+28c28d8d6d,g8ea07a8fe4+db21c37724,g92c671f44c+9f17e571f4,g98df359435+b2e6376b13,g99af87f6a8+b0f4ad7b8d,gac66b60396+966efe6077,gb88ae4c679+7dec8f19df,gbaa8f7a6c5+38b34f4976,gbf99507273+edbf708997,gc24b5d6ed1+9f17e571f4,gca7fc764a6+6dc8069a4c,gcc769fe2a4+97d0256649,gd7ef33dd92+6dc8069a4c,gdab6d2f7ff+ae494d68d9,gdbb4c4dda9+9f17e571f4,ge410e46f29+6dc8069a4c,geaed405ab2+e194be0d2b,w.2025.47
LSST Data Management Base Package
Loading...
Searching...
No Matches
lsst.dax.apdb.monitor.LoggingMonHandler Class Reference
Inheritance diagram for lsst.dax.apdb.monitor.LoggingMonHandler:
lsst.dax.apdb.monitor.MonHandler

Public Member Functions

 __init__ (self, str logger_name, int log_level=logging.INFO)
 
None handle (self, str name, float timestamp, _TagsType tags, Mapping[str, Any] values, str agent_name)
 

Protected Attributes

 _logger = logging.getLogger(logger_name)
 
 _level = log_level
 

Detailed Description

Implementation of the monitoring handler which dumps records formatted
as JSON objects to `logging`.

Parameters
----------
logger_name : `str`
    Name of the `logging` logger to use for output.
log_level : `int`, optional
    Logging level to use for output, default is `INFO`

Notes
-----
The attributes of the formatted JSON object correspond to the parameters
of `handle` method, except for `agent_name` which is mapped to `source`.
The `tags` and `values` become JSON sub-objects with corresponding keys.

Definition at line 390 of file monitor.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.dax.apdb.monitor.LoggingMonHandler.__init__ ( self,
str logger_name,
int log_level = logging.INFO )

Definition at line 408 of file monitor.py.

408 def __init__(self, logger_name: str, log_level: int = logging.INFO):
409 self._logger = logging.getLogger(logger_name)
410 self._level = log_level
411

Member Function Documentation

◆ handle()

None lsst.dax.apdb.monitor.LoggingMonHandler.handle ( self,
str name,
float timestamp,
_TagsType tags,
Mapping[str, Any] values,
str agent_name )
Handle one monitoring record.

Parameters
----------
name : `str`
    Record name, arbitrary string.
timestamp : `str`
    Time in seconds since UNIX epoch when record originated.
tags : `~collections.abc.Mapping` [`str`, `str` or `int`]
    Tags associated with the record, may be empty.
values : `~collections.abc.Mapping` [`str`, `Any`]
    Values associated with the record, usually never empty.
agent_name `str`
    Name of a client agent that produced this record.

Reimplemented from lsst.dax.apdb.monitor.MonHandler.

Definition at line 412 of file monitor.py.

414 ) -> None:
415 # Docstring is inherited from base class.
416 record = {
417 "name": name,
418 "timestamp": timestamp,
419 "tags": tags,
420 "values": values,
421 "source": agent_name,
422 }
423 msg = json.dumps(record)
424 self._logger.log(self._level, msg)

Member Data Documentation

◆ _level

lsst.dax.apdb.monitor.LoggingMonHandler._level = log_level
protected

Definition at line 410 of file monitor.py.

◆ _logger

lsst.dax.apdb.monitor.LoggingMonHandler._logger = logging.getLogger(logger_name)
protected

Definition at line 409 of file monitor.py.


The documentation for this class was generated from the following file: