]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
log-ify warnings module. get rid of one-per-customer deprecationwarning limit.
authorJonathan Ellis <jbellis@gmail.com>
Mon, 30 Jul 2007 23:50:45 +0000 (23:50 +0000)
committerJonathan Ellis <jbellis@gmail.com>
Mon, 30 Jul 2007 23:50:45 +0000 (23:50 +0000)
lib/sqlalchemy/logging.py
lib/sqlalchemy/util.py

index f02e3f746fb0316f02e31170824ce87015b0f2e9..1e62708293f7534846c3b8ec44336a296bfe7d18 100644 (file)
@@ -26,13 +26,17 @@ is equivalent to::
     logging.getLogger('sqlalchemy.engine.Engine.%s' % hex(id(engine))).setLevel(logging.DEBUG)
 """
 
-import sys
+import sys, warnings
 
 # py2.5 absolute imports will fix....
 logging = __import__('logging')
 
 
-logging.getLogger('sqlalchemy').setLevel(logging.WARN)
+rootlogger = logging.getLogger('sqlalchemy')
+rootlogger.setLevel(logging.WARN)
+def _logwarning(message, category, filename, lineno, file='ignored'):
+    rootlogger.warn(warnings.formatwarning(message, category, filename, lineno))
+warnings.showwarning = _logwarning
 
 default_enabled = False
 def default_logging(name):
@@ -41,7 +45,6 @@ def default_logging(name):
         default_enabled=True
     if not default_enabled:
         default_enabled = True
-        rootlogger = logging.getLogger('sqlalchemy')
         handler = logging.StreamHandler(sys.stdout)
         handler.setFormatter(logging.Formatter('%(asctime)s %(levelname)s %(name)s %(message)s'))
         rootlogger.addHandler(handler)
index c9c20ef451571b48a89eb984995bbe620f07d102..4925caa69593b27db4524c1d043aa31ced1643e8 100644 (file)
@@ -541,19 +541,11 @@ class ScopedRegistry(object):
         return self.scopefunc()
 
 
-_warned = Set()
-
 def warn_deprecated(msg):
-    if msg in _warned:
-        return
-    _warned.add(msg)
     warnings.warn(msg, category=DeprecationWarning, stacklevel=3)
 
 def deprecated(func, add_deprecation_to_docstring=True):
     def func_with_warning(*args, **kwargs):
-        if func in _warned:
-            return func(*args, **kwargs)
-        _warned.add(func)
         warnings.warn("Call to deprecated function %s" % func.__name__,
                       category=DeprecationWarning,
                       stacklevel=2)