Joan Miller wrote: > On 10 ene, 10:26, Peter Otten <__pete...@web.de> wrote: >> Joan Miller wrote: >> > How to prepend anything to a logging message? Is possible to do it >> > from the dictionary object (ExtraLog) or is there is that override >> > process() [1]? >> >> > ------------------ >> > class ExtraLog(object): >> >> > def __getitem__(self, name): >> > if name == 'foo': >> > result = 'testing' >> > return result >> >> > def __iter__(self): >> > keys = ['foo',] >> > keys.extend(self.__dict__.keys()) >> > return iter(keys) >> >> format = "foo=%(foo)s " + logging.BASIC_FORMAT >> logging.basicConfig(format=format) >> logger = logging.LoggerAdapter(logging.getLogger('foo'), ExtraLog()) >> logger.error("yadda") >> >> Is that what you want? >> >> Peter > > I want that a message can be modified before of being logged. i.e. for > "yadda" I would that were preppend 2 spaces. (And I want not manage > that in the format to manage the indentation of all text)
Following Ishwor's advice: import logging class MyLoggerAdapter(logging.LoggerAdapter): def process(self, msg, kwargs): return "message->" + msg.upper(), kwargs logging.basicConfig() logger = MyLoggerAdapter(logging.getLogger('foo'), {}) logger.error("yadda") Peter -- http://mail.python.org/mailman/listinfo/python-list