You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by mf...@apache.org on 2013/02/18 10:54:31 UTC
[4/6] git commit: Core: Make DeltacloudLogger compatible with Ruby
Logger
Core: Make DeltacloudLogger compatible with Ruby Logger
This patch will make our DeltacloudLogger more compatible
wit the default Ruby 'Logger' class.
Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/e472c9f8
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/e472c9f8
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/e472c9f8
Branch: refs/heads/master
Commit: e472c9f82053db55726a7837e7edf97256b9fd4b
Parents: 9320dce
Author: Michal Fojtik <mf...@redhat.com>
Authored: Fri Feb 15 11:18:46 2013 +0100
Committer: Michal fojtik <mf...@redhat.com>
Committed: Mon Feb 18 09:58:03 2013 +0100
----------------------------------------------------------------------
server/lib/sinatra/rack_logger.rb | 59 +++++++++++++++++++-------------
1 files changed, 35 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/e472c9f8/server/lib/sinatra/rack_logger.rb
----------------------------------------------------------------------
diff --git a/server/lib/sinatra/rack_logger.rb b/server/lib/sinatra/rack_logger.rb
index 02bbf2a..572ef63 100644
--- a/server/lib/sinatra/rack_logger.rb
+++ b/server/lib/sinatra/rack_logger.rb
@@ -26,33 +26,40 @@ module Rack
# rack.errors by default.
class DeltacloudLogger
- def self.log_path(path=nil)
- @log_file ||= path
- end
+ class << self
+ def log_path(path=nil)
+ @log_file ||= path
+ end
- def self.verbose?
- @verbose
- end
+ def verbose?
+ @verbose
+ end
- def self.verbose(v=nil)
- @verbose ||= v
- end
+ def verbose(v=nil)
+ @verbose ||= v
+ end
- def self.setup(path, be_verbose=false)
- verbose(be_verbose)
- return self if path.nil?
- dir = ::File.dirname(path)
- if ::File.exists?(dir) and ::File.writable?(dir)
- log_path(path)
- else
- warn "Warning: The log directory (#{dir}) is not writeable."
+ def setup(path, be_verbose=false)
+ verbose(be_verbose)
+ return self if path.nil?
+ dir = ::File.dirname(path)
+ if ::File.exists?(dir) and ::File.writable?(dir)
+ log_path(path)
+ else
+ warn "Warning: The log directory (#{dir}) is not writeable."
+ end
+ self
end
- self
- end
- def self.error(code, &block)
- @logger ||= ::Logger.new(log_path || $stdout)
- @logger.error(code, &block)
+ def logger
+ @logger ||= ::Logger.new(log_path || $stdout)
+ end
+
+ [:error, :warn, :info].each do |method_name|
+ define_method method_name do |msg, &block|
+ logger.send(method_name, msg, &block)
+ end
+ end
end
# Common Log Format: http://httpd.apache.org/docs/1.3/logs.html#common
@@ -62,10 +69,14 @@ module Rack
VERBOSE_FORMAT = %{%s - %s [%s] "%s %s%s%s %s" %s %s %d %s %0.4f\n}
+ # If Deltacloud is started with the -L/--log option then
+ # we set logger to this file, otherwise use the default
+ # Sinatra logger facility
+ #
def initialize(app, logger=nil)
@app = app
- unless self.class.log_path.nil?
- @logger = ::Logger.new(self.class.log_path)
+ if self.class.log_path
+ @logger = self.class.logger
else
@logger = logger
end