Sha256: cb97574dca56b82fbdf06ec59d69a67021a5cdf9ad17e30a411f165e68e23883

Contents?: true

Size: 553 Bytes

Versions: 3

Compression:

Stored size: 553 Bytes

Contents

require 'active_support/tagged_logging'

module Services
  module Logger
    class File
      def initialize(log_dir)
        log_file = ::File.join(log_dir, 'services.log')
        @logger = ActiveSupport::TaggedLogging.new(::Logger.new(log_file))
        @logger.clear_tags!
      end

      def log(message, meta = {}, severity = :info)
        tags = meta.map do |k, v|
          [k, v].join('=')
        end
        @logger.tagged Time.now, severity.upcase, *tags do
          @logger.send severity, message
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
services-1.2.0 lib/services/logger/file.rb
services-1.1.1 lib/services/logger/file.rb
services-1.1.0 lib/services/logger/file.rb