Class: EY::Backup::Logger
- Inherits:
-
Object
- Object
- EY::Backup::Logger
- Extended by:
- Forwardable
- Defined in:
- lib/ey_backup/logger.rb
Instance Attribute Summary collapse
-
#stderr ⇒ Object
Returns the value of attribute stderr.
-
#stdout ⇒ Object
Returns the value of attribute stdout.
Class Method Summary collapse
Instance Method Summary collapse
- #debug(msg) ⇒ Object
- #error(msg, db = nil) ⇒ Object
- #exception(type, msg) ⇒ Object
- #info(msg) ⇒ Object
-
#initialize(stdout = $stdout, stderr = $stderr) ⇒ Logger
constructor
A new instance of Logger.
- #okay(msg, db = nil) ⇒ Object
- #push_dashboard_alert(message, alert_level, db = nil) ⇒ Object
- #say(msg, newline = true) ⇒ Object
- #set_verbose ⇒ Object
- #verbose(msg) ⇒ Object
- #warn(msg, db = nil) ⇒ Object
Constructor Details
#initialize(stdout = $stdout, stderr = $stderr) ⇒ Logger
Returns a new instance of Logger.
18 19 20 21 |
# File 'lib/ey_backup/logger.rb', line 18 def initialize(stdout = $stdout, stderr = $stderr) @stdout, @stderr = stdout, stderr @verbose = false end |
Instance Attribute Details
#stderr ⇒ Object
Returns the value of attribute stderr.
7 8 9 |
# File 'lib/ey_backup/logger.rb', line 7 def stderr @stderr end |
#stdout ⇒ Object
Returns the value of attribute stdout.
7 8 9 |
# File 'lib/ey_backup/logger.rb', line 7 def stdout @stdout end |
Class Method Details
.quiet ⇒ Object
14 15 16 |
# File 'lib/ey_backup/logger.rb', line 14 def self.quiet new(StringIO.new) end |
Instance Method Details
#debug(msg) ⇒ Object
73 74 75 |
# File 'lib/ey_backup/logger.rb', line 73 def debug(msg) stderr.puts("#{Time.now} DEBUG: #{msg}") end |
#error(msg, db = nil) ⇒ Object
64 65 66 67 |
# File 'lib/ey_backup/logger.rb', line 64 def error(msg, db = nil) stderr.puts("#{Time.now} ERROR: #{msg}") push_dashboard_alert("#{msg}. Details at /var/log/eybackup.log.", "FAILURE", db) end |
#exception(type, msg) ⇒ Object
69 70 71 |
# File 'lib/ey_backup/logger.rb', line 69 def exception(type, msg) self.error(msg) end |
#info(msg) ⇒ Object
38 39 40 |
# File 'lib/ey_backup/logger.rb', line 38 def info(msg) puts "#{Time.now} #{msg}" end |
#okay(msg, db = nil) ⇒ Object
54 55 56 57 |
# File 'lib/ey_backup/logger.rb', line 54 def okay(msg, db = nil) stderr.puts("#{Time.now} OKAY: #{msg}") # push_dashboard_alert(msg, "OKAY", db), we don't push OKAY alerts, we push a summary alert instead. end |
#push_dashboard_alert(message, alert_level, db = nil) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/ey_backup/logger.rb', line 23 def push_dashboard_alert(, alert_level, db = nil) .gsub!("\n", '\n') type="process-dbbackup" type = type + " #{db}" unless db.nil? full_txt= "Severity: #{alert_level}\n" \ + "Time: #{Time.now.to_i}\n" \ + "Type: #{type}\n" \ + "Plugin: exec\n" \ + "raw_message: '#{}'" full_txt = Shellwords.escape(full_txt) alert_command = %Q(echo #{full_txt} | /engineyard/bin/ey-alert.rb 2>&1) verbose "Sending dashboard alert" system(alert_command) end |
#say(msg, newline = true) ⇒ Object
50 51 52 |
# File 'lib/ey_backup/logger.rb', line 50 def say(msg, newline = true) newline ? info(msg) : stdout.print(msg) end |
#set_verbose ⇒ Object
46 47 48 |
# File 'lib/ey_backup/logger.rb', line 46 def set_verbose() @verbose = true end |
#verbose(msg) ⇒ Object
42 43 44 |
# File 'lib/ey_backup/logger.rb', line 42 def verbose(msg) info(msg) if @verbose end |
#warn(msg, db = nil) ⇒ Object
59 60 61 62 |
# File 'lib/ey_backup/logger.rb', line 59 def warn(msg, db = nil) stderr.puts("#{Time.now} WARNING: #{msg}") push_dashboard_alert(msg, "WARNING", db) end |