Merge pull request #5 from att-comdev/oslo-log-integration
Add oslo.log integration
This commit is contained in:
commit
5d4be4cddd
2
AUTHORS
2
AUTHORS
@ -1,2 +1,4 @@
|
||||
Alan Meadows <alan.meadows@gmail.com>
|
||||
Felipe Monteiro <felipe.monteiro@att.com>
|
||||
Felipe Monteiro <fmontei@users.noreply.github.com>
|
||||
Scott Hussey <sh8121@att.com>
|
||||
|
@ -1,6 +1,7 @@
|
||||
CHANGES
|
||||
=======
|
||||
|
||||
* Add oslo.log integration to Deckhand.
|
||||
* DECKHAND-10: Barbican initial integration
|
||||
* DECKHAND-2: Design core Deckhand API framework
|
||||
* Oslo config integration (#1)
|
||||
|
@ -8,5 +8,6 @@ To run::
|
||||
$ sudo pip install uwsgi
|
||||
$ virtualenv -p python3 /var/tmp/deckhand
|
||||
$ . /var/tmp/deckhand/bin/activate
|
||||
$ sudo pip install .
|
||||
$ pip install .
|
||||
$ python setup.py install
|
||||
$ uwsgi --http :9000 -w deckhand.deckhand --callable deckhand --enable-threads -L
|
||||
|
@ -51,18 +51,31 @@ barbican_opts = [
|
||||
help='URL override for the Barbican API endpoint.'),
|
||||
]
|
||||
|
||||
logging_group = cfg.OptGroup(
|
||||
name='logging',
|
||||
title='Logging Options',
|
||||
help='Logging options for Deckhand.')
|
||||
|
||||
logging_opts = [
|
||||
cfg.StrOpt('global_logger_name',
|
||||
default='deckhand',
|
||||
help='Logger name for the top-level logger.')
|
||||
]
|
||||
|
||||
|
||||
def register_opts(conf):
|
||||
conf.register_group(barbican_group)
|
||||
conf.register_opts(barbican_opts, group=barbican_group)
|
||||
|
||||
conf.register_group(keystone_auth_group)
|
||||
conf.register_opts(keystone_auth_opts, group=keystone_auth_group)
|
||||
conf.register_group(logging_group)
|
||||
conf.register_opts(logging_opts, group=logging_group)
|
||||
|
||||
|
||||
def list_opts():
|
||||
return {keystone_auth_group: keystone_auth_opts,
|
||||
barbican_group: barbican_opts}
|
||||
return {barbican_group: barbican_opts,
|
||||
keystone_auth_group: keystone_auth_opts,
|
||||
logging_group: logging_opts}
|
||||
|
||||
|
||||
register_opts(CONF)
|
||||
|
@ -15,16 +15,46 @@
|
||||
import os
|
||||
|
||||
import falcon
|
||||
from oslo_config import cfg
|
||||
from oslo_log import log as logging
|
||||
|
||||
from deckhand.conf import config
|
||||
from deckhand.control import base as api_base
|
||||
from deckhand.control import secrets
|
||||
|
||||
CONF = cfg.CONF
|
||||
|
||||
|
||||
def __setup_logging():
|
||||
LOGGER_NAME = CONF.logging.global_logger_name
|
||||
LOG = logging.getLogger(__name__, LOGGER_NAME)
|
||||
|
||||
logging.register_options(CONF)
|
||||
|
||||
current_path = os.path.dirname(os.path.realpath(__file__))
|
||||
root_path = os.path.abspath(os.path.join(current_path, os.pardir,
|
||||
os.pardir))
|
||||
logging_cfg_path = "%s/etc/deckhand/logging.conf" % root_path
|
||||
|
||||
# If logging conf is in place we need to set log_config_append. Only do so
|
||||
# if the log path already exists.
|
||||
if ((not hasattr(CONF, 'log_config_append') or
|
||||
CONF.log_config_append is None) and
|
||||
os.path.isfile(logging_cfg_path)):
|
||||
CONF.log_config_append = logging_cfg_path
|
||||
|
||||
logging.setup(CONF, LOGGER_NAME)
|
||||
LOG.debug('Initiated Deckhand logging.')
|
||||
|
||||
|
||||
def start_api(state_manager=None):
|
||||
"""Start the Deckhand API service.
|
||||
"""Main entry point for initializing the Deckhand API service.
|
||||
|
||||
Create routes for the v1.0 API.
|
||||
Create routes for the v1.0 API and sets up logging.
|
||||
"""
|
||||
config.register_opts(CONF)
|
||||
__setup_logging()
|
||||
|
||||
control_api = falcon.API(request_type=api_base.DeckhandRequest)
|
||||
|
||||
v1_0_routes = [
|
||||
|
35
etc/deckhand/logging.conf
Normal file
35
etc/deckhand/logging.conf
Normal file
@ -0,0 +1,35 @@
|
||||
[loggers]
|
||||
keys=root
|
||||
|
||||
[handlers]
|
||||
keys=file,devel,syslog
|
||||
|
||||
[formatters]
|
||||
keys=simple,tests
|
||||
|
||||
[logger_root]
|
||||
level=DEBUG
|
||||
handlers=file
|
||||
|
||||
[handler_file]
|
||||
class=FileHandler
|
||||
level=DEBUG
|
||||
args=('deckhand.log', 'w+')
|
||||
formatter=tests
|
||||
|
||||
[handler_syslog]
|
||||
class=handlers.SysLogHandler
|
||||
level=ERROR
|
||||
args = ('/dev/log', handlers.SysLogHandler.LOG_USER)
|
||||
|
||||
[handler_devel]
|
||||
class=StreamHandler
|
||||
level=DEBUG
|
||||
args=(sys.stdout,)
|
||||
formatter=simple
|
||||
|
||||
[formatter_tests]
|
||||
class = oslo_log.formatters.ContextFormatter
|
||||
|
||||
[formatter_simple]
|
||||
format=%(asctime)s.%(msecs)03d %(process)d %(levelname)s: %(message)s
|
35
etc/deckhand/logging.conf.sample
Normal file
35
etc/deckhand/logging.conf.sample
Normal file
@ -0,0 +1,35 @@
|
||||
[loggers]
|
||||
keys=root
|
||||
|
||||
[handlers]
|
||||
keys=file,devel,syslog
|
||||
|
||||
[formatters]
|
||||
keys=simple,tests
|
||||
|
||||
[logger_root]
|
||||
level=DEBUG
|
||||
handlers=file
|
||||
|
||||
[handler_file]
|
||||
class=FileHandler
|
||||
level=DEBUG
|
||||
args=('deckhand.log', 'w+')
|
||||
formatter=tests
|
||||
|
||||
[handler_syslog]
|
||||
class=handlers.SysLogHandler
|
||||
level=ERROR
|
||||
args = ('/dev/log', handlers.SysLogHandler.LOG_USER)
|
||||
|
||||
[handler_devel]
|
||||
class=StreamHandler
|
||||
level=DEBUG
|
||||
args=(sys.stdout,)
|
||||
formatter=simple
|
||||
|
||||
[formatter_tests]
|
||||
class = oslo_log.formatters.ContextFormatter
|
||||
|
||||
[formatter_simple]
|
||||
format=%(asctime)s.%(msecs)03d %(process)d %(levelname)s: %(message)s
|
@ -1,8 +1,13 @@
|
||||
falcon==1.1.0
|
||||
|
||||
pbr!=2.1.0,>=2.0.0 # Apache-2.0
|
||||
six>=1.9.0 # MIT
|
||||
stevedore>=1.20.0 # Apache-2.0
|
||||
keystoneauth1>=2.21.0 # Apache-2.0
|
||||
oslo.config>=3.22.0 # Apache-2.0
|
||||
oslo.context>=2.14.0 # Apache-2.0
|
||||
oslo.log>=3.22.0 # Apache-2.0
|
||||
oslo.serialization>=1.10.0 # Apache-2.0
|
||||
oslo.utils>=3.20.0 # Apache-2.0
|
||||
oslo.i18n!=3.15.2,>=2.1.0 # Apache-2.0
|
||||
python-barbicanclient>=4.0.0 # Apache-2.0
|
||||
|
Loading…
Reference in New Issue
Block a user