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

Roundup Issue Tracker: http://roundup-tracker.org/