On Mar 30, 4:18 pm, Vinay Sajip <vinay_sa...@yahoo.co.uk> wrote: > On Mar 30, 4:13 pm, dj <d.a.aberna...@gmail.com> wrote: > > > > > I am trying to create a log level called userinfo for the pythonlogging. I > > read the source code and tried to register the level to theloggingnamespace > > with the following source: > > > fromloggingimport Logger > > > # create the custom log level > > class userinfo(Logger): > > def userinfo(self, msg, > > *args, **kwargs): > > if > > self.isEnabledFor(WARNING): > > > self._log(WARNING, msg, args, **kwargs) > > > # Register log level in thelogging.Logger > > namespace > > Logger.userinfo = userinfo > > > Has I am sure you guessed, it did not work. If you know how this is > > done or know what I am doing work or can provide a link to example > > code (because I have not been able to locate any), I would greatly > > appreciate it. > > My sincere and heartfelt thanks in advance. > > See the example script at > > http://dpaste.com/hold/21323/ > > which contains, amongst other things, an illustration of how to use > custom logging levels in an application. > > Regards, > > Vinay Sajip
I got the code setup, however, I still get an error for my custom log level. ############################### Python code ####################################################### import sys, logging # log levels CRITICAL = 50 ERROR = 40 WARNING = 30 USERINFO =25 # my custom log level INFO = 20 DEBUG = 10 # define the range LEVEL_RANGE = range(DEBUG, CRITICAL +1) # level names log_levels = { CRITICAL : 'critical', ERROR : 'error', WARNING : 'warning', USERINFO : 'userinfo', INFO : 'info', DEBUG : 'debug', } # associate names with our levels. for lvl in log_levels.keys(): logging.addLevelName(lvl, log_levels[lvl]) # setup a log instance logger = logging.getLogger('myLog') logger.setLevel(CRITICAL) hdlr = logging.StreamHandler() hdlr.setLevel(CRITICAL) logger.addHandler(hdlr) # give it a try print 'write logs' logger.critical('this a critical log message') logger.userinfo('this is a userinfo log message') #call custom log level ######################################### Output from my interpreter ################################################## Python 2.6 (r26:66721, Oct 2 2008, 11:35:03) [MSC v.1500 32 bit (Intel)] Type "help", "copyright", "credits" or "license" for more information. >>> Evaluating log_level_test.py write logs this a critical log message AttributeError: Logger instance has no attribute 'userinfo' >>> I would love to know what I am doing wrong. Thanks again for your help, it is really appreciated. -- http://mail.python.org/mailman/listinfo/python-list