user1559873
user1559873

Reputation: 6876

memory handler of python logging module

Anybody help me to add memory handlers, bufferinghandler to make my program optimal (to flush buffered memory).

import logging
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)#we can set deug_level at logger level also

formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')

ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
ch.setFormatter(formatter)
logger.addHandler(ch)

logger.debug('This is a test log message.')

Upvotes: 1

Views: 5039

Answers (1)

Martijn Pieters
Martijn Pieters

Reputation: 1121584

Create your memory handler just like you create a stream handler, passing in the stream handler as the target:

streamhandler = logging.StreamHandler()
streamhandler.setFormatter(formatter)
memoryhandler = logging.handlers.MemoryHandler(1024*10, logging.DEBUG, streamhandler)
logger.addHandler(memoryhandler)

You do not add the stream handler with logger.addHandler.

Upvotes: 5

Related Questions