Sha256: 769cf8236be4716e02a9d2f5912ce023f6fff382e598ce68b1e4d05ff8b457ef

Contents?: true

Size: 1.7 KB

Versions: 1

Compression:

Stored size: 1.7 KB

Contents

module TreasureData
module Logger
module Agent::Rails

  CONFIG_PATH = ENV['TREASURE_DATA_YML'] || 'config/treasure_data.yml'
  CONFIG_PATH_EY_LOCAL = 'config/ey_services_config_local.yml'
  CONFIG_PATH_EY_DEPLOY = 'config/ey_services_config_deploy.yml'

  require 'td/logger/agent/rack'
  require 'td/logger/agent/rails/config'
  require 'td/logger/agent/rails/controller'
  #require 'td/logger/agent/rails/model'

  def self.init(rails)
    c = Config.init
    unless c
      ::TreasureData::Logger.open_null
      return false
    end

    if c.agent_mode?
      ::TreasureData::Logger.open_agent(c.tag, :host=>c.agent_host, :port=>c.agent_port, :debug=>c.debug_mode)
    else
      ::TreasureData::Logger.open(c.database, :apikey=>c.apikey, :auto_create_table=>c.auto_create_table, :debug=>c.debug_mode)
    end

    rails.middleware.use Agent::Rack::Hook

    Agent::Rack::Hook.before do |env|
      TreasureData::Logger.event.attribute.clear
    end

    Agent::Rails::ControllerExtension.init
    #Agent::Rails::AccessLogger.init(c.access_log_table) if c.access_log_enabled?
    #Agent::Rails::ModelExtension.init

    true
  end

  if ::Rails.respond_to?(:version) && ::Rails.version =~ /^3/
    class Railtie < ::Rails::Railtie
      initializer "treasure_data_logger.start_plugin" do |app|
        TreasureData::Logger::Agent::Rails.init(app.config)
      end
    end
  else
    TreasureData::Logger::Agent::Rails.init(::Rails.configuration)
  end

  # implement ActiveSupport::TimeWithZone#to_msgpack
  unless ActiveSupport::TimeWithZone.method_defined?(:to_msgpack)
    class ActiveSupport::TimeWithZone
      def to_msgpack(out='')
        strftime("%Y-%m-%d %H:%M:%S %z").to_msgpack(out)
      end
    end
  end
end
end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
td-logger-0.3.15 lib/td/logger/agent/rails.rb