Module: RubyRabbitmqJanus::Tools::Logger
- Defined in:
- lib/rrj/tools/gem/log.rb
Overview
# Manage log in this gem
Create module for managing logger in many level. In Thread process. In rails apps (final app use this gem).
Prepare different output : STDOUT RemoteSyslogger (for papertrail) File
Class Method Summary collapse
- .create ⇒ Object
- .initialize_logger ⇒ Object
- .logger_file ⇒ Object
- .logger_remote ⇒ Object
- .logger_stdout ⇒ Object
- .remote_hostname ⇒ Object
- .remote_port ⇒ Object
- .remote_program ⇒ Object
- .remote_url ⇒ Object
- .start ⇒ Object
Class Method Details
.create ⇒ Object
29 30 31 32 33 34 35 36 |
# File 'lib/rrj/tools/gem/log.rb', line 29 def self.create @config = RubyRabbitmqJanus::Tools::Config.instance @log = initialize_logger @log.level = @config.log_level @log end |
.initialize_logger ⇒ Object
38 39 40 41 42 43 44 45 46 |
# File 'lib/rrj/tools/gem/log.rb', line 38 def self.initialize_logger case @config.log_type when :stdout then logger_stdout when :file then logger_file when :remote then logger_remote else logger_stdout end end |
.logger_file ⇒ Object
52 53 54 |
# File 'lib/rrj/tools/gem/log.rb', line 52 def self.logger_file ::Logger.new(@config.log_option || 'log/ruby-rabbitmq-janus.log') end |
.logger_remote ⇒ Object
56 57 58 59 60 61 62 63 |
# File 'lib/rrj/tools/gem/log.rb', line 56 def self.logger_remote require 'remote_syslog_logger' RemoteSyslogLogger.new(remote_url, remote_port, program: remote_program, local_hostname: remote_hostname) end |
.logger_stdout ⇒ Object
48 49 50 |
# File 'lib/rrj/tools/gem/log.rb', line 48 def self.logger_stdout ::Logger.new(STDOUT) end |
.remote_hostname ⇒ Object
77 78 79 |
# File 'lib/rrj/tools/gem/log.rb', line 77 def self.remote_hostname @config.log_option.split(':').last end |
.remote_port ⇒ Object
69 70 71 |
# File 'lib/rrj/tools/gem/log.rb', line 69 def self.remote_port @config.log_option.split('@').first.split(':').last end |
.remote_program ⇒ Object
73 74 75 |
# File 'lib/rrj/tools/gem/log.rb', line 73 def self.remote_program @config.log_option.split('@').last.split(':').first end |
.remote_url ⇒ Object
65 66 67 |
# File 'lib/rrj/tools/gem/log.rb', line 65 def self.remote_url @config.log_option.split(':').first end |
.start ⇒ Object
23 24 25 26 27 |
# File 'lib/rrj/tools/gem/log.rb', line 23 def self.start Log.info '### Start bin Ruby Rabbit Janus ###' Log.info "RRJ Version : #{RubyRabbitmqJanus::VERSION}" Log.info "\r\n#{RubyRabbitmqJanus::BANNER}" end |