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 2011/09/09 15:05:53 UTC
svn commit: r1167146 - in /incubator/deltacloud/trunk/server:
bin/deltacloudd lib/sinatra/sinatra_verbose.rb server.rb
Author: mfojtik
Date: Fri Sep 9 13:05:52 2011
New Revision: 1167146
URL: http://svn.apache.org/viewvc?rev=1167146&view=rev
Log:
Added verbose logging option for deltacloudd
Added:
incubator/deltacloud/trunk/server/lib/sinatra/sinatra_verbose.rb (with props)
Modified:
incubator/deltacloud/trunk/server/bin/deltacloudd
incubator/deltacloud/trunk/server/server.rb
Modified: incubator/deltacloud/trunk/server/bin/deltacloudd
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/bin/deltacloudd?rev=1167146&r1=1167145&r2=1167146&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/bin/deltacloudd (original)
+++ incubator/deltacloud/trunk/server/bin/deltacloudd Fri Sep 9 13:05:52 2011
@@ -73,6 +73,9 @@ BANNER
opts.on( '-t', '--timeout TIMEOUT', 'Timeout for single request (default: 60)') do |timeout|
ENV["API_TIMEOUT"] = timeout
end
+ opts.on( '-V', '--verbose', 'Set verbose logging on') do |verbose|
+ ENV["API_VERBOSE"] ||= 'true'
+ end
opts.on( '-h', '--help', '') { options[:help] = true }
opts.separator <<EOS
Added: incubator/deltacloud/trunk/server/lib/sinatra/sinatra_verbose.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/lib/sinatra/sinatra_verbose.rb?rev=1167146&view=auto
==============================================================================
--- incubator/deltacloud/trunk/server/lib/sinatra/sinatra_verbose.rb (added)
+++ incubator/deltacloud/trunk/server/lib/sinatra/sinatra_verbose.rb Fri Sep 9 13:05:52 2011
@@ -0,0 +1,71 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership. The
+# ASF licenses this file to you 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.
+
+require 'sinatra/base'
+
+module Sinatra
+ module VerboseLogger
+
+ module Helpers
+
+ def info(message)
+ puts sprintf("\033[1;34m[INFO: #{caller_method_name}]\033[0m: %s", message.inspect)
+ end
+
+ def warn(message)
+ puts sprintf("\033[1;31m[WARN: #{caller_method_name}]\033[0m: %s", message.inspect)
+ end
+
+ private
+
+ def caller_method_name
+ caller(2).first
+ end
+
+ end
+
+ def enable_verbose_logging!
+ disable :logging
+ before {
+ puts sprintf("\n\033[1;29mProcessing %s\033[0m (for %s at #{Time.now}) [%s] [\033[1;29m%s\033[0m]",
+ request.path_info, request.ip, request.request_method, driver_name)
+ puts "Parameters: #{params.inspect}"
+ if provider=Thread::current[:provider] || ENV['API_PROVIDER']
+ puts "Provider: #{provider}"
+ end
+ puts "Authentication: #{request.env['HTTP_AUTHORIZATION'].split(' ').first}" if request.env['HTTP_AUTHORIZATION']
+ puts "Server: #{request.env['SERVER_SOFTWARE']}"
+ puts "Accept: #{request.env['HTTP_ACCEPT']}"
+ puts
+ }
+ after {
+ puts sprintf("\nCompleted in \033[1;29m%4f\033[0m | %4f | %s | \033[1;36m%s\033[0m | %s\n",
+ response.header['X-Backend-Runtime'] || 0, response.header['X-Runtime'] || 0, response.status, response.content_type, request.url)
+ }
+ end
+
+ def self.registered(app)
+ app.helpers VerboseLogger::Helpers
+ app.enable_verbose_logging! if ENV['API_VERBOSE']
+ end
+ end
+end
+
+Sinatra::Application.register Sinatra::VerboseLogger
+
+Deltacloud::BaseDriver.class_eval do
+ include Sinatra::VerboseLogger::Helpers
+end
Propchange: incubator/deltacloud/trunk/server/lib/sinatra/sinatra_verbose.rb
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/deltacloud/trunk/server/server.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/server.rb?rev=1167146&r1=1167145&r2=1167146&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/server.rb (original)
+++ incubator/deltacloud/trunk/server/server.rb Fri Sep 9 13:05:52 2011
@@ -24,6 +24,7 @@ require 'sinatra/lazy_auth'
require 'erb'
require 'haml'
require 'open3'
+require 'sinatra/sinatra_verbose'
require 'lib/deltacloud/helpers/blob_stream'
require 'sinatra/rack_driver_select'
require 'sinatra/rack_runtime'