API documentation¶
This section details the public API for configuring application logging across the SKA project.
Python¶
The API for the configuration using Python is shown below.
Public API Documentation¶
Imports¶
Module init code.
-
ska_ser_log_transactions.
transaction
¶
-
ska_ser_log_transactions.
async_transaction
¶ alias of
ska_ser_log_transactions.transactions.AsyncTransaction
Classes¶
-
class
ska_ser_log_transactions.transactions.
TransactionBase
(name: str, params: dict = {}, transaction_id: str = '', transaction_id_key: str = 'transaction_id', logger: Optional[<Mock id='140077651555984'>] = None)[source]¶ Transaction context handler.
Provides:
- Transaction ID::* Re-use existing transaction ID, if available* If no transaction ID, or empty or None, then generate a new ID* context handler returns the transaction ID used- Log messages on entry, exit, and exceptiondef command(self, parameter_json): parameters = json.reads(parameter_json) with transaction('My Command', parameters) as transaction_id: # ... parameters['transaction_id'] = transaction_id device.further_command(json.dumps(pars)) # ... def command(self, parameter_json): parameters = json.reads(parameter_json) with transaction('My Command', parameters, transaction_id="123") as transaction_id: # ... parameters['transaction_id'] = transaction_id device.further_command(json.dumps(pars)) # ... def command(self, parameter_json): parameters = json.reads(parameter_json) parameters["txn_id_key"] = 123 with transaction('My Command', parameters, transaction_id_key="txn_id_key") as transaction_id: # ... parameters['transaction_id'] = transaction_id device.further_command(json.dumps(pars)) # ...
Log message formats:On Entry:Transaction[id]: Enter[name] with parameters [arguments] marker[marker]On Exit:Transaction[id]: Exit[name] marker[marker]On exception:Transaction[id]: Exception[name] marker[marker]Stacktrace
-
class
ska_ser_log_transactions.transactions.
Transaction
(name: str, params: dict = {}, transaction_id: str = '', transaction_id_key: str = 'transaction_id', logger: Optional[<Mock id='140077651555984'>] = None)[source]¶ Bases:
ska_ser_log_transactions.transactions.TransactionBase
-
class
ska_ser_log_transactions.transactions.
AsyncTransaction
(name: str, params: dict = {}, transaction_id: str = '', transaction_id_key: str = 'transaction_id', logger: Optional[<Mock id='140077651555984'>] = None)[source]¶ Bases:
ska_ser_log_transactions.transactions.TransactionBase