diff options
author | Ryan Cragun <me@ryan.ec> | 2017-04-18 16:46:16 -0700 |
---|---|---|
committer | Ryan Cragun <me@ryan.ec> | 2017-04-19 13:26:37 -0700 |
commit | 88ff22da3888462e23be414de46ec1a7426e69b8 (patch) | |
tree | 0b853d7616ee871deae12fc4d7db9cf967012a01 /lib/mixlib/authentication.rb | |
parent | 0c5c683a23b7d4b6fd2cbb61a2010af2e513aacf (diff) | |
download | mixlib-authentication-ryan/cloud-319.tar.gz |
[CLOUD-319] Make mixlib-log an optional dependencyryan/cloud-319
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.rb | 16 |
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 |