ElasticLogger package API
Submodules
elasticlogger.hooks.elasticsearch.elasticsearch module
elasticlogger.hooks.hook_context module
Hook context that keeps data to be modified.
- class elasticlogger.hooks.hook_context.HookContext(level: int, logger_level: int, logger_name: AnyStr, message: AnyStr, extra_data: Dict[AnyStr, Any])
Bases:
objectContext information for hook execution.
- Parameters
level (int) – Current log record level
logger_level (int) – Global logger level
logger_name (str) – Global logger name
message (str) – Current log record message
extra_data (dict) – Current log record extra data
- property level: int
Getter for level property.
- property logger_level: int
Global logger level.
- property logger_name: AnyStr
Global logger name.
elasticlogger.hooks.hooks module
Definition of a hook.
Logger hooks are functions or callable classes that receive all the logging information that should be logged by the instance in any of the calls of the debug, info, warning, error, fatal or critical methods.
Example:
- def hook_function(context: HookContext) -> NoReturn:
- if ‘foo’ in context.extra_data:
del context.extra_data[‘foo’]
logger.add_hook(hook_function)
Example2:
- class HookClass:
- def __call__(self, context: HookContext) -> NoReturn:
- if ‘bar’ in context.extra_data:
context.extra_data[‘bar’] = context.extra_data[‘foo’]
logger.add_hook(HookClass())
elasticlogger.ports.elasticsearch.elasticsearch module
elasticlogger.types.linked_list module
elasticlogger.types.context module
Logger context data store
- class elasticlogger.types.context.Context
Bases:
contextlib.ContextDecoratorContext manager for global and persistent logger data.
- clear()
Delete all previous context data
- property data
Return stored data fo the context.
- field(name: AnyStr, value: Any)
Add single field to context data. Context data will be logged in all logs and never is auto cleaned
- Parameters
name – New key name for the field
value – Value of the field (if it’s an object needs to be json serializable)
- Return Context
Self instance
- Raises
ContextKeyError – When the given context key is not a str
- fields(fields: dict)
Add fields to context data. Context data will be logged in all logs and never is auto cleaned
- Parameters
fields – (dict) Extra fields to add in the json log
- Return Context
Self instance
elasticlogger.types.json_encoder module
elasticlogger.utils.utils module
Utils that can be used across all files.
- elasticlogger.utils.utils.get_error_info(error: Any) Dict[AnyStr, Any]
Extract error information from a given error object.
- Parameters
error – Error information
- Return Dict[AnyStr, Any]
Extracted error information
- elasticlogger.utils.utils.get_level_name(level: int)
Return level name from logging package levels
- Parameters
level – Logging level
- Raises
InvalidLogLevel – For an invalid level value
- Return int
String name
- elasticlogger.utils.utils.get_logging_method(level: int, logger: logging.Logger) Callable
Return logging method from an instance of a logger
- Parameters
level – Logging level
logger – Current instance of a Logger object
- Raises
InvalidLogLevel – For an invalid level value
- Return int
String name
elasticlogger.base_logger module
elasticlogger.errors module
Custom module errors
- exception elasticlogger.errors.ContextKeyError
Bases:
ExceptionError for invalid type of a Context key
- exception elasticlogger.errors.InvalidLogLevel
Bases:
ExceptionError raised when an invalid log level is detected