Module: Tair::Log
- Included in:
- Client, Connection, Operation
- Defined in:
- lib/tair/log.rb
Class Method Summary collapse
Instance Method Summary collapse
- #colorize(text) ⇒ Object
- #log_bytes(string) ⇒ Object
- #log_time(msg, serverity = ::Logger::INFO, &block) ⇒ Object
- #logger ⇒ Object
- #logger_colorize ⇒ Object
- #tair_bytes_log_file ⇒ Object
Class Method Details
.included(klass) ⇒ Object
7 8 9 10 11 12 |
# File 'lib/tair/log.rb', line 7 def self.included(klass) klass.class_eval do attr_writer :logger attr_writer :logger_colorize end end |
Instance Method Details
#colorize(text) ⇒ Object
57 58 59 |
# File 'lib/tair/log.rb', line 57 def colorize text logger_colorize.call(text) end |
#log_bytes(string) ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'lib/tair/log.rb', line 22 def log_bytes string # 写入字节到文件,方便与其他语言的SDK做对比 File.open(tair_bytes_log_file, 'w') do |f| bytes = string.each_codepoint.to_a debug { bytes.map {|b| b.to_s(16) }.join(" ") } f.write bytes.join(",\n") end end |
#log_time(msg, serverity = ::Logger::INFO, &block) ⇒ Object
48 49 50 51 52 53 54 |
# File 'lib/tair/log.rb', line 48 def log_time msg, serverity=::Logger::INFO, &block t = Time.now block.call.tap do |ret| elapsed = '%.3f' % ((Time.now - t) * 1000) logger.log(serverity) { colorize("(#{elapsed}ms)") << " #{msg}" } end end |
#logger ⇒ Object
37 38 39 40 41 42 43 44 45 |
# File 'lib/tair/log.rb', line 37 def logger return @logger if defined? @logger @logger ||= ::Logger.new(STDOUT).tap do |logger| logger.level = ::Logger::INFO logger.formatter = proc { |serverity, time, prog, msg | colorize("Tair ") << msg.to_s << "\n" } end end |
#logger_colorize ⇒ Object
62 63 64 65 66 |
# File 'lib/tair/log.rb', line 62 def logger_colorize @logger_colorize ||= proc { |t| t.to_s.bold } end |
#tair_bytes_log_file ⇒ Object
32 33 34 |
# File 'lib/tair/log.rb', line 32 def tair_bytes_log_file "log/bytes.log" end |