Module: Koa::Logger
- Defined in:
- lib/koa/logger.rb
Class Method Summary collapse
- .appname ⇒ Object
- .count(name, val, data = {}) ⇒ Object
- .librato_log(type, name, val, data) ⇒ Object
- .log(data) ⇒ Object
- .measure(name, val, data = {}) ⇒ Object
- .measure_block(name, data = {}) ⇒ Object
- .out ⇒ Object
- .out=(o) ⇒ Object
- .prefix(name) ⇒ Object
- .sample(name, val, data = {}) ⇒ Object
- .stringify(data) ⇒ Object
Class Method Details
.appname ⇒ Object
28 29 30 31 32 33 34 |
# File 'lib/koa/logger.rb', line 28 def self.appname @prefix ||= ENV['APP_NAME'].downcase if ENV['APP_NAME'] if defined? ::Rails @prefix ||= Rails.application.class.parent_name.downcase+"." end @prefix ||= "" end |
.count(name, val, data = {}) ⇒ Object
66 67 68 |
# File 'lib/koa/logger.rb', line 66 def self.count(name, val, data = {}) librato_log("count", name, val, data) end |
.librato_log(type, name, val, data) ⇒ Object
40 41 42 43 44 |
# File 'lib/koa/logger.rb', line 40 def self.librato_log(type, name, val, data) name = prefix(name) data["#{type}##{name}"] = val log(data) end |
.log(data) ⇒ Object
54 55 56 |
# File 'lib/koa/logger.rb', line 54 def self.log(data) out.puts(stringify(data)) end |
.measure(name, val, data = {}) ⇒ Object
70 71 72 |
# File 'lib/koa/logger.rb', line 70 def self.measure(name, val, data = {}) librato_log("measure", name, val, data) end |
.measure_block(name, data = {}) ⇒ Object
58 59 60 61 62 63 64 |
# File 'lib/koa/logger.rb', line 58 def self.measure_block(name, data = {}) start = Time.now result = yield elapsed = (Time.now.to_f - start.to_f) * 1000 measure(name, elapsed.round.to_s+"ms", data) result end |
.out ⇒ Object
50 51 52 |
# File 'lib/koa/logger.rb', line 50 def self.out @out || $stdout end |
.out=(o) ⇒ Object
46 47 48 |
# File 'lib/koa/logger.rb', line 46 def self.out=(o) @out = o end |
.prefix(name) ⇒ Object
36 37 38 |
# File 'lib/koa/logger.rb', line 36 def self.prefix(name) appname+name end |
.sample(name, val, data = {}) ⇒ Object
74 75 76 |
# File 'lib/koa/logger.rb', line 74 def self.sample(name, val, data = {}) librato_log("sample", name, val, data) end |
.stringify(data) ⇒ Object
78 79 80 81 82 |
# File 'lib/koa/logger.rb', line 78 def self.stringify(data) data.reduce(out=String.new) do |s, tup| s << [tup.first, tup.last].join("=") << " " end end |