logger: deprecate SettingsLogLevel (#29149)
This commit is contained in:
parent
e1647d8f56
commit
050dbcb921
|
@ -119,9 +119,7 @@ LOGGING = {
|
|||
'loggers': {
|
||||
'django.db': {
|
||||
# even when debugging seeing SQL queries is too much
|
||||
'level': hobo.logger.SettingsLogLevel(
|
||||
default_log_level='INFO',
|
||||
debug_setting='DEBUG_DB'),
|
||||
'level': 'INFO',
|
||||
},
|
||||
'django': {
|
||||
# Override Django default values
|
||||
|
|
|
@ -21,41 +21,18 @@ import logging.handlers
|
|||
import os
|
||||
import pytz
|
||||
import time
|
||||
import warnings
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import connection
|
||||
from django.utils import six
|
||||
|
||||
from hobo.middleware.utils import StoreRequestMiddleware
|
||||
|
||||
|
||||
class SettingsLogLevel(int):
|
||||
def __new__(cls, default_log_level, debug_setting='DEBUG'):
|
||||
ob = super(SettingsLogLevel, cls).__new__(
|
||||
cls, getattr(logging, default_log_level))
|
||||
ob.debug_setting = debug_setting
|
||||
return ob
|
||||
|
||||
if six.PY2:
|
||||
def __init__(self, default_log_level, debug_setting='DEBUG'):
|
||||
self.debug_setting = debug_setting
|
||||
super(SettingsLogLevel, self).__init__(
|
||||
getattr(logging, default_log_level))
|
||||
|
||||
old_getEffectiveLevel = logging.Logger.getEffectiveLevel
|
||||
|
||||
|
||||
def getEffectiveLevel(self):
|
||||
level = old_getEffectiveLevel(self)
|
||||
if isinstance(level, SettingsLogLevel):
|
||||
from django.conf import settings
|
||||
debug = getattr(settings, level.debug_setting, False)
|
||||
if debug:
|
||||
return logging.DEBUG
|
||||
return level
|
||||
|
||||
# monkeypatch default getEffectiveLevel to get our new behaviour
|
||||
logging.Logger.getEffectiveLevel = getEffectiveLevel
|
||||
class SettingsLogLevel(str):
|
||||
def __new__(cls, value):
|
||||
warnings.warn('SettingsLogLevel is deprecated, use DEBUG_LOG instead.', DeprecationWarning, stacklevel=2)
|
||||
return super(SettingsLogLevel, cls).__new__(value)
|
||||
|
||||
|
||||
class RequestContextFilter(logging.Filter):
|
||||
|
|
Loading…
Reference in New Issue