summaryrefslogtreecommitdiff
path: root/lib/mixlib/authentication.rb
diff options
context:
space:
mode:
authorRyan Cragun <me@ryan.ec>2017-04-18 16:46:16 -0700
committerRyan Cragun <me@ryan.ec>2017-04-20 10:32:12 -0700
commit9d6d393f56d9da97fe53e3bdd92a2c7bf10fc66d (patch)
treecafbe5a63a61008e9e8d42018b81d18be2edbb74 /lib/mixlib/authentication.rb
parent0c5c683a23b7d4b6fd2cbb61a2010af2e513aacf (diff)
downloadmixlib-authentication-9d6d393f56d9da97fe53e3bdd92a2c7bf10fc66d.tar.gz
[CLOUD-319] Make mixlib-log an optional dependency
This change makes mixlib-log an optional dependency. When it's available in the LOAD_PATH it will be used by default, otherwise, all logging will will be forwarded to a null logger that does nothing. This is useful for cases where small utilities can consume mixlib-authentication and not have to pull in additional gems. Signed-off-by: Ryan Cragun <me@ryan.ec>
Diffstat (limited to 'lib/mixlib/authentication.rb')
-rw-r--r--lib/mixlib/authentication.rb16
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/mixlib/authentication.rb b/lib/mixlib/authentication.rb
index 443512e..b27e06e 100644
--- a/lib/mixlib/authentication.rb
+++ b/lib/mixlib/authentication.rb
@@ -16,12 +16,13 @@
# limitations under the License.
#
-require "mixlib/log"
-
module Mixlib
module Authentication
DEFAULT_SERVER_API_VERSION = "0"
+ attr_accessor :logger
+ module_function :logger, :logger=
+
class AuthenticationError < StandardError
end
@@ -29,10 +30,17 @@ module Mixlib
end
class Log
- extend Mixlib::Log
end
- Log.level = :error
+ begin
+ require "mixlib/log"
+ Mixlib::Authentication::Log.extend(Mixlib::Log)
+ rescue LoadError
+ require "mixlib/authentication/null_logger"
+ Mixlib::Authentication::Log.extend(Mixlib::Authentication::NullLogger)
+ end
+ Mixlib::Authentication.logger = Mixlib::Authentication::Log
+ Mixlib::Authentication.logger.level = :error
end
end