lib/td/logger/agent/rails.rb in td-logger-0.2.4 vs lib/td/logger/agent/rails.rb in td-logger-0.2.5

- old
+ new

@@ -1,13 +1,8 @@ module TreasureData module Logger module Agent - require 'td/logger/agent/middleware' - require 'td/logger/agent/access_log' - require 'td/logger/agent/rails/controller' - require 'td/logger/agent/rails/model' - module Rails CONFIG_PATH = 'config/treasure_data.yml' CONFIG_SAMPLE = <<EOF @@ -26,26 +21,10 @@ # disable logging test: EOF - def self.rails_env - if defined?(RAILS_ENV) && RAILS_ENV.to_s != '' - RAILS_ENV.to_s - else - ::Rails.env - end - end - - def self.rails_root - if defined?(RAILS_ROOT) && RAILS_ROOT.to_s != '' - RAILS_ROOT.to_s - else - ::Rails.root - end - end - class Config def initialize(conf) if agent = conf['agent'] host, port = agent.split(':',2) port = (port || 24224).to_i @@ -95,31 +74,31 @@ logger.warn "Disabling Treasure Data logger." return end return Config.new({ 'apikey' => apikey, - 'database' => ENV['TREASURE_DATA_DB'] || "rails_#{rails_env}", + 'database' => ENV['TREASURE_DATA_DB'] || "rails_#{::Rails.env}", 'access_log_table' => ENV['TREASURE_DATA_TABLE'] || 'web_access', 'auto_create_table' => true }) end begin - src = File.read("#{rails_root}/#{CONFIG_PATH}") + src = File.read("#{::Rails.root}/#{CONFIG_PATH}") yaml = ERB.new(src).result env_conf = YAML.load(yaml) rescue logger.warn "Can't load #{CONFIG_PATH} file: #{$!}" logger.warn "Disabling Treasure Data logger." logger.warn "Example:" logger.warn CONFIG_SAMPLE return end - conf = env_conf[rails_env] + conf = env_conf[::Rails.env] unless conf - logger.warn "#{CONFIG_PATH} doesn't include setting for current environment (#{rails_env})." + logger.warn "#{CONFIG_PATH} doesn't include setting for current environment (#{::Rails.env})." logger.warn "Disabling Treasure Data logger." return end begin @@ -130,10 +109,15 @@ return end end def self.init(rails) + require 'td/logger/agent/middleware' + require 'td/logger/agent/access_log' + require 'td/logger/agent/rails/controller' + require 'td/logger/agent/rails/model' + c = read_config(rails) return unless c if c.agent_mode? ::TreasureData.open_agent(c.tag, c.agent_host, c.agent_port) @@ -153,19 +137,19 @@ end end end end -if defined? Rails - if Rails.respond_to?(:version) && Rails.version =~ /^3/ +if defined? ::Rails + if ::Rails.respond_to?(:version) && ::Rails.version =~ /^3/ module TreasureData - class Railtie < Rails::Railtie + class Railtie < ::Rails::Railtie initializer "treasure_data_agent.start_plugin" do |app| TreasureData::Logger::Agent::Rails.init(app.config) end end end else - TreasureData::Logger::Agent::Rails.init(Rails.configuration) + TreasureData::Logger::Agent::Rails.init(::Rails.configuration) end end