summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzul <azul@riseup.net>2014-01-03 15:28:49 +0100
committerAzul <azul@riseup.net>2014-01-03 15:28:49 +0100
commit638e6a83a923e61d8b320818a39befd62529ae1a (patch)
treeb7f57d16c83ff50f9cb4403d5dcd999212d2ebaa
parent2365ee92396dba077f01d50f34fa2203841bde9f (diff)
make logging more precise
* do not log the SystemExit after the fork * log error classes alongside messages * unify logging in retry_request_once * debug now logs every step * info has one message per user created * warn only logs errors during the actions * error only logs crashes
-rwxr-xr-xbin/tapicero3
-rw-r--r--lib/tapicero/user_database.rb23
-rw-r--r--lib/tapicero_daemon.rb1
3 files changed, 13 insertions, 14 deletions
diff --git a/bin/tapicero b/bin/tapicero
index b2eebed..c20a114 100755
--- a/bin/tapicero
+++ b/bin/tapicero
@@ -68,8 +68,9 @@ else
end
begin
Daemons.run("#{BASE_DIR}/lib/tapicero_daemon.rb", options)
+rescue SystemExit
rescue Exception => exc
Tapicero.logger.error "Uncaught exception. Daemon will die."
- Tapicero.logger.error exc.to_s
+ Tapicero.logger.error exc.class.name + ": " + exc.to_s
Tapicero.logger.error exc.backtrace.join("\n")
end
diff --git a/lib/tapicero/user_database.rb b/lib/tapicero/user_database.rb
index c499850..5266b4a 100644
--- a/lib/tapicero/user_database.rb
+++ b/lib/tapicero/user_database.rb
@@ -18,18 +18,17 @@ module Tapicero
def secure(security)
# let's not overwrite if we have a security doc already
return if secured? && !Tapicero::FLAGS.include?('--overwrite-security')
- Tapicero.logger.info "Writing Security to #{security_url}"
- Tapicero.logger.debug security.to_json
- retry_request_once "Writing security" do
+ retry_request_once "Writing security to" do
+ Tapicero.logger.debug security.to_json
CouchRest.put security_url, security
end
end
def add_design_docs
pattern = BASE_DIR + 'designs' + '*.json'
- Tapicero.logger.debug "looking for design docs in #{pattern}"
+ Tapicero.logger.debug "Looking for design docs in #{pattern}"
Pathname.glob(pattern).each do |file|
- retry_request_once "Uploading design doc" do
+ retry_request_once "Uploading design doc to" do
upload_design_doc(file)
end
end
@@ -38,13 +37,12 @@ module Tapicero
def upload_design_doc(file)
url = design_url(file.basename('.json'))
CouchRest.put url, JSON.parse(file.read)
- Tapicero.logger.debug "uploaded design doc #{file.basename} to #{url}"
rescue RestClient::Conflict
end
def destroy
- retry_request_once "Deleting Database" do
+ retry_request_once "Deleting database" do
delete_db
end
end
@@ -53,25 +51,24 @@ module Tapicero
def create_db
CouchRest.new(host).create_db(name)
- Tapicero.logger.debug "database created successfully."
rescue RestClient::PreconditionFailed # database already existed
end
def delete_db
db = CouchRest.new(host).database(name)
db.delete! if db
- Tapicero.logger.debug "database deleted successfully."
rescue RestClient::ResourceNotFound # no database found
end
def retry_request_once(action)
second_try ||= false
+ Tapicero.logger.debug "#{action} #{name}"
yield
rescue RestClient::Exception => exc
if second_try
- log_error action + " failed twice due to:", exc
+ log_error "#{action} #{name} failed twice due to:", exc
else
- log_error action + " failed due to:", exc
+ log_error "#{action} #{name} failed due to:", exc
sleep 5
second_try = true
retry
@@ -80,12 +77,12 @@ module Tapicero
def log_error(message, exc)
Tapicero.logger.warn message if message
- Tapicero.logger.warn exc.to_s
+ Tapicero.logger.warn exc.class.name + ': ' + exc.to_s
Tapicero.logger.debug exc.backtrace.join("\n")
end
def secured?
- retry_request_once "Checking security" do
+ retry_request_once "Checking security of" do
CouchRest.get(security_url).keys.any?
end
end
diff --git a/lib/tapicero_daemon.rb b/lib/tapicero_daemon.rb
index 67eee88..2a43cae 100644
--- a/lib/tapicero_daemon.rb
+++ b/lib/tapicero_daemon.rb
@@ -16,6 +16,7 @@ module Tapicero
db.create
db.secure(config.options[:security])
db.add_design_docs
+ logger.info "Prepared storage for " + hash['id']
end
users.deleted do |hash|