Skip to content
Snippets Groups Projects
Commit accc71e3 authored by Branson Craig Stephens's avatar Branson Craig Stephens
Browse files

Added Branson-specific log settings to branson.py

parent adcd636e
No related branches found
No related tags found
No related merge requests found
# XXX I know import * is ugly, but I want the stuff from logSettings to be
# in this namespace.
from logSettings import *
CONFIG_NAME = "Branson"
DEBUG = True
......@@ -87,3 +83,144 @@ INSTALLED_APPS = (
INTERNAL_IPS = (
'129.89.61.55',
)
# Settings for Logging.
import logging
LOG_ROOT = '/home/branson/logs'
LOG_FILE_SIZE = 1024*1024 # 1 MB
LOG_FILE_BAK_CT = 3
LOG_FORMAT = 'verbose'
LOG_LEVEL = 'DEBUG'
# Filter objects to separate out each level of alert.
# Otherwise the log files for each level would contain the
# output for each higher level.
class debugOnlyFilter(logging.Filter):
def filter(self,record):
if record.levelname=='DEBUG':
return 1
return 0
class infoOnlyFilter(logging.Filter):
def filter(self,record):
if record.levelname=='INFO':
return 1
return 0
class debugPlusInfo(logging.Filter):
def filter(self,record):
if record.levelname=='INFO' or record.levelname=='DEBUG':
return 1
return 0
class warningOnlyFilter(logging.Filter):
def filter(self,record):
if record.levelname=='WARNING':
return 1
return 0
class errorOnlyFilter(logging.Filter):
def filter(self,record):
if record.levelname=='ERROR':
return 1
return 0
# Note that mode for log files is 'a' (append) by default
# The 'level' specifier on the handle is optional, and we
# don't need it since we're using custom filters.
LOGGING = {
'version': 1,
'disable_existing_loggers' : True,
'formatters': {
'simple': {
'format': '%(levelname)s %(message)s',
},
'verbose': {
'format': '%(asctime)s: %(name)s: %(message)s',
'datefmt': '%Y-%m-%d %H:%M:%S',
},
},
'filters': {
'debugOnly': {
'()': 'settings.logSettings.debugOnlyFilter',
},
'infoOnly': {
'()': 'settings.logSettings.infoOnlyFilter',
},
'debugPlusInfo': {
'()': 'settings.logSettings.debugPlusInfo',
},
'warningOnly': {
'()': 'settings.logSettings.warningOnlyFilter',
},
'errorOnly': {
'()': 'settings.logSettings.errorOnlyFilter',
},
},
'handlers': {
'null': {
'level':'DEBUG',
'class':'django.utils.log.NullHandler',
},
'debug_file': {
'class': 'logging.handlers.RotatingFileHandler',
'formatter': LOG_FORMAT,
# Commented out so that the debug file will have *everything*
# That should make it somewhat easier to read through.
# 'filters': ['debugPlusInfo'],
'filename': '%s/gracedb_debug.log' % LOG_ROOT,
'maxBytes': LOG_FILE_SIZE,
'backupCount': LOG_FILE_BAK_CT,
},
# 'info_file': {
# 'class': 'logging.handlers.RotatingFileHandler',
# 'formatter': LOG_FORMAT,
# 'filters': ['infoOnly'],
# 'filename': '%s/gracedb_info.log' % LOG_ROOT,
# 'maxBytes': LOG_FILE_SIZE,
# 'backupCount': LOG_FILE_BAK_CT,
# },
# 'warning_file': {
# 'class': 'logging.handlers.RotatingFileHandler',
# 'formatter': LOG_FORMAT,
# 'filters': ['warningOnly'],
# 'filename': '%s/gracedb_warning.log' % LOG_ROOT,
# 'maxBytes': LOG_FILE_SIZE,
# 'backupCount': LOG_FILE_BAK_CT,
# },
# 'error_file': {
# 'class': 'logging.handlers.RotatingFileHandler',
# 'formatter': LOG_FORMAT,
# 'filters': ['errorOnly'],
# 'filename': '%s/gracedb_error.log' % LOG_ROOT,
# 'maxBytes': LOG_FILE_SIZE,
# 'backupCount': LOG_FILE_BAK_CT,
# },
'performance_file': {
'class': 'logging.FileHandler',
'formatter': 'simple',
'filename': '%s/gracedb_performance.log' % LOG_ROOT,
},
},
'loggers': {
'django': {
'handlers': ['null'],
'propagate': True,
'level': 'INFO',
},
'gracedb': {
# 'handlers': ['debug_file', 'info_file', 'warning_file', 'error_file'],
'handlers': ['debug_file'],
'propagate': True,
'level': LOG_LEVEL,
},
'middleware': {
'handlers': ['performance_file'],
'propagate': True,
'level': 'INFO',
},
# 'userprofile': {
# 'handlers': ['debug_file', 'info_file', 'warning_file', 'error_file'],
# 'propagate': True,
# 'level': LOG_LEVEL,
# },
},
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment