Sha256: ef21e6130d669b5062d1b952ddaca2b13229579774ff9746c944b8011aa5c408

Contents?: true

Size: 1.14 KB

Versions: 1

Compression:

Stored size: 1.14 KB

Contents

require 'monitor'

class LogLocationCache::Logger < LogLocationCache::Base
  def initialize(logger)
    super()
    @logger = logger
  end

protected
  attr_reader   :logger

  def get_pid_location(lpid)
    folder = log_folder(lpid)
    return  nil if folder.nil?

    loc = File.join(folder, Time.now.strftime('%Y-%m-%d'), "#{log_folder_base_name(lpid)}.log")
    unless File.exists?(loc)
      loc = "#{loc}.gz"
      loc = nil  unless File.exists?(loc)
    end

    loc
  end

  def logger_name
    (logger =~ /^([^\:]+)\:/) ? $1 : logger
  end

  def log_base_folder
    (logger =~ /^[^\:]+\:([^\:]+)/) ? $1 : nil
  end

  def log_folder(lpid)
    folder = log_folder_base_name(lpid)
    (log_base_folder.nil? || folder.nil?) ? folder : File.join(log_base_folder, folder)
  end

  def log_priority(lpid)
    args = log_command_args(lpid)
    args.nil? ? logger_priority : args.last
  end

  def set_pid_log_location(pid, log_location)
    remove_old_values
  end

  def log_folder_base_name(lpid)
    result = super(lpid)

    # we should remove : from the end of the line for logger installations.
    result = $1  if result =~ /^(.+)\:$/

    result
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
runit-man-2.4.0a1 lib/runit-man/log_location_cache/logger.rb