Update the default_log_levels defaults

The default for default_log_levels didn't set the log levels
for some packages that Keystone uses (for example, dogpile). This
caused the server to output a lot of extra logs when debug=True
is used.

You can get the debug output for dogpile and routes by setting
default_log_levels explicitly in your keystone.conf file.

Change-Id: Ib797fa7b98f0e501047b72b094d07ad204385cc6
Related-bug: #1245629
Closes-Bug: #1269987
This commit is contained in:
Brant Knudson 2013-12-13 13:43:21 -06:00
parent 7ae2549edc
commit 27f9221722
5 changed files with 29 additions and 1 deletions

View File

@ -105,6 +105,7 @@ if __name__ == '__main__':
config.configure()
sql.initialize()
config.set_default_for_default_log_levels()
CONF(project='keystone',
version=pbr.version.VersionInfo('keystone').version_string(),

View File

@ -74,7 +74,7 @@
# syslog_log_facility = LOG_USER
# list of logger=LEVEL pairs (list value)
#default_log_levels=amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,iso8601=WARN
#default_log_levels=amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,iso8601=WARN,dogpile=INFO,routes=INFO
# The name of logging configuration file. It does not disable
# existing loggers, but just appends specified logging

View File

@ -38,6 +38,7 @@ CONF = config.CONF
config.configure()
sql.initialize()
config.set_default_for_default_log_levels()
CONF(project='keystone')
config.setup_logging()

View File

@ -214,6 +214,7 @@ def main(argv=None, config_files=None):
config.configure()
sql.initialize()
config.set_default_for_default_log_levels()
CONF(args=argv[1:],
project='keystone',

View File

@ -28,6 +28,31 @@ setup_authentication = config.setup_authentication
configure = config.configure
def set_default_for_default_log_levels():
"""Set the default for the default_log_levels option for keystone.
Keystone uses some packages that other OpenStack services don't use that do
logging. This will set the default_log_levels default level for those
packages.
This function needs to be called before CONF().
"""
extra_log_level_defaults = [
'dogpile=INFO',
'routes=INFO',
]
def find_default_log_levels_opt():
for opt in log.log_opts:
if opt.dest == 'default_log_levels':
return opt
opt = find_default_log_levels_opt()
opt.default.extend(extra_log_level_defaults)
def setup_logging():
"""Sets up logging for the keystone package."""
log.setup('keystone')