From 335ed4a6944ad32759ad810aa6a4da599bc358fd Mon Sep 17 00:00:00 2001
From: Monty Taylor <mordred@inaugust.com>
Date: Tue, 3 Nov 2015 10:45:20 -0500
Subject: [PATCH] Add logging module support

The _log.py module is from shade and is just basic logging support
that does not emit warnings if the consumer does not have logging
enabled.

Change-Id: Id4639763cf488eb7cd0c27904be055a7843e287f
---
 os_client_config/_log.py         | 28 ++++++++++++++++++++++++++++
 os_client_config/cloud_config.py |  2 ++
 2 files changed, 30 insertions(+)
 create mode 100644 os_client_config/_log.py

diff --git a/os_client_config/_log.py b/os_client_config/_log.py
new file mode 100644
index 0000000..ff2f2ea
--- /dev/null
+++ b/os_client_config/_log.py
@@ -0,0 +1,28 @@
+# Copyright (c) 2015 IBM Corp.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import logging
+
+
+class NullHandler(logging.Handler):
+    def emit(self, record):
+        pass
+
+
+def setup_logging(name):
+    log = logging.getLogger(name)
+    if len(log.handlers) == 0:
+        h = NullHandler()
+        log.addHandler(h)
+    return log
diff --git a/os_client_config/cloud_config.py b/os_client_config/cloud_config.py
index 6085a64..fe5c302 100644
--- a/os_client_config/cloud_config.py
+++ b/os_client_config/cloud_config.py
@@ -17,6 +17,7 @@ import warnings
 from keystoneauth1 import plugin
 from keystoneauth1 import session
 
+from os_client_config import _log
 from os_client_config import exceptions
 
 
@@ -27,6 +28,7 @@ class CloudConfig(object):
         self.name = name
         self.region = region
         self.config = config
+        self.log = _log.setup_logging(__name__)
         self._force_ipv4 = force_ipv4
         self._auth = auth_plugin
         self._openstack_config = openstack_config