Sha256: 743f7182763b6d01bdbc8ce222be772cfe461f372e2c08d74e062929cc2a99e2

Contents?: true

Size: 1.44 KB

Versions: 1

Compression:

Stored size: 1.44 KB

Contents

require 'fluent/logger'

module TreasureData
module Logger
  autoload :TreasureDataLogger, 'td/logger/td_logger'

  @@logger = nil

  def self.open(database, options={})
    @@logger = TreasureData::Logger::TreasureDataLogger.new(database, options)
  end

  def self.open_agent(tag, options={})
    @@logger = Fluent::Logger::FluentLogger.new(tag, options)
  end

  def self.open_null
    @@logger = Fluent::Logger::NullLogger.new
  end

  def self.post(tag, record, time=nil)
    @@logger.post(tag, record, time)
  end
end
end


# shortcut methods
module TreasureData
  require 'td/logger/event'

  def self.open(database, options={})
    TreasureData::Logger.open(database, options)
  end

  def self.open_agent(tag, options={})
    TreasureData::Logger.open_agent(tag, options)
  end

  def self.open_null
    TreasureData::Logger.open_null
  end

  def self.post(tag, record, time=nil)
    TreasureData::Logger.post(tag, record, time)
  end

  def self.event
    TreasureData::Logger.event
  end

  Event = TreasureData::Logger::Event

  # backward compatibility
  def self.log(*args)  # :nodoc:
    TreasureData::Logger.post(*args)
  end
end

# shortcut constants
TD = TreasureData

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

module TreasureData::Logger::Agent
  if defined? ::Rails
    require 'td/logger/agent/rails'
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
td-logger-0.3.0 lib/td/logger.rb