Mercurial > p > roundup > code
changeset 2605:6e9bd67fefa9
complete transition from HYPERDBDEBUG to new logging
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Wed, 21 Jul 2004 00:50:50 +0000 |
| parents | 5ccd99777869 |
| children | 17eb5aeada7f |
| files | doc/developers.txt roundup/rlog.py test/db_test_base.py |
| diffstat | 3 files changed, 36 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/doc/developers.txt Tue Jul 20 23:24:27 2004 +0000 +++ b/doc/developers.txt Wed Jul 21 00:50:50 2004 +0000 @@ -2,7 +2,7 @@ Developing Roundup ================== -:Version: $Revision: 1.11 $ +:Version: $Revision: 1.12 $ .. note:: The intended audience of this document is the developers of the core @@ -107,6 +107,24 @@ consistently check in code which is either broken or takes the codebase in directions that have not been agreed to. + +Debugging Aids +-------------- + +Try turning on logging of DEBUG level messages. This may be done a number +of ways, depending on what it is you're testing: + +1. If you're testing the database unit tests, then set the environment + variable ``LOGGING_LEVEL=DEBUG``. This may be done like so: + + LOGGING_LEVEL=DEBUG python run_tests.py + + This variable replaces the older HYPERDBDEBUG environment var. + +2. If you're testing a particular tracker, then set the logging level in + your tracker's ``config.py``. + + Internationalization Notes --------------------------
--- a/roundup/rlog.py Tue Jul 20 23:24:27 2004 +0000 +++ b/roundup/rlog.py Wed Jul 21 00:50:50 2004 +0000 @@ -80,6 +80,7 @@ def __init__(self, file, level): self.file = file self.level = level + self.format = '%(time)s %(level)s %(message)s' def setFile(self, file): '''Set the file to log to. "file" is either an open file object or @@ -97,10 +98,17 @@ if name == level: level = num self.level = level + def setFormat(self, format): + self.format = format def write(self, level, message): - message = '%s %s %s\n'%(time.strftime('%Y-%m-%d %H:%M:%D'), - BasicLogging.NAMES[level], message) + info = { + 'time': time.strftime('%Y-%m-%d %H:%M:%D'), + 'level': BasicLogging.NAMES[level], + 'message': message + } + message = self.format%info self._write(message) + self._write('\n') def _write(self, text): file = self.file or sys.stderr file.write(text)
--- a/test/db_test_base.py Tue Jul 20 23:24:27 2004 +0000 +++ b/test/db_test_base.py Wed Jul 21 00:50:50 2004 +0000 @@ -15,7 +15,7 @@ # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. # -# $Id: db_test_base.py,v 1.42 2004-07-20 23:24:27 richard Exp $ +# $Id: db_test_base.py,v 1.43 2004-07-21 00:50:50 richard Exp $ import unittest, os, shutil, errno, imp, sys, time, pprint @@ -80,6 +80,12 @@ logging = MockNull() +if os.environ.has_key('LOGGING_LEVEL'): + from roundup import rlog + config.logging = rlog.BasicLogging() + config.logging.setLevel(os.environ['LOGGING_LEVEL']) + config.logging.getLogger('hyperdb').setFormat('%(message)s') + class DBTest(MyTestCase): def setUp(self): # remove previous test, ignore errors
