import logging
class CustomLoggerAdapter(logging.LoggerAdapter):
def process(self, msg, kwargs):
# Modify the message or kwargs as needed
# For example, you can add or modify information in kwargs
extra_info = {'custom_param1': 'default_value1', 'custom_param2': 'default_value2'}
extra_info.update(kwargs.pop('extra_info', {}))
kwargs['extra'] = extra_info
return msg, kwargs
# Usage
logger = logging.getLogger('example_logger')
custom_adapter = CustomLoggerAdapter(logger, extra={'context_param': 'context_value'})
# Example logging with additional kwargs
custom_adapter.info('Log message with additional kwargs', extra_info={'custom_param1': 'new_value1'})