class FlogRuby::LoggerFactory

Public Class Methods

default_level() click to toggle source
# File lib/flog_ruby/logger_factory.rb, line 211
def default_level
  if ENV['FLOG_LEVEL']
    l = ENV['FLOG_LEVEL'].upcase
    return Logger::Severity.const_get(l)
  end
  Logger::DEBUG
end
get(biz_name = :stdout, level = nil) click to toggle source

e.g. api, core, default: to STDOUT

# File lib/flog_ruby/logger_factory.rb, line 187
def get(biz_name = :stdout, level = nil)
  return Flogger.new(STDOUT) if biz_name.nil? || biz_name == :stdout

  biz_name = biz_name.to_sym
  findit = loggers[biz_name]
  return findit if findit

  level ||= default_level
  if syslog?
    logger = Syslogger.new(biz_name)
    logger.formatter = Syslogger::Formatter.new
    logger.level = level
  else
    log_path = root.join("#{biz_name}.log")
    logger = Flogger.new(log_path, 3, 10_240_000) #10M
    logger.formatter = Flogger::Formatter.new
    logger.level = level
    logger.logdev2.sync = true
  end

  logger.group = biz_name
  loggers[biz_name] = logger
end
lget(filepath, opts = {}) click to toggle source

获取有轮滚的logger

# File lib/flog_ruby/logger_factory.rb, line 238
def lget(filepath, opts = {})
  ::Logger.new(filepath, 3, 10_240_000)
end
mget(biz_name = :stdout, level = Logger::DEBUG) click to toggle source

just temp monitor log in: log/xx.log

# File lib/flog_ruby/logger_factory.rb, line 220
def mget(biz_name = :stdout, level = Logger::DEBUG)
  return Flogger.new(STDOUT) if biz_name.nil? || biz_name == :stdout

  biz_name = biz_name.to_sym
  findit = mloggers[biz_name]
  return findit if findit

  # different path!!!
  log_path = Pathname.new('log').join("#{biz_name}.log")
  logger = Flogger.new(log_path, 3, 10_240_000) #10M

  logger.formatter = Flogger::Formatter.new
  logger.level = level
  logger.logdev2.sync = true
  mloggers[biz_name] = logger
end
syslog?() click to toggle source
# File lib/flog_ruby/logger_factory.rb, line 242
def syslog?
  return false if ENV['FLOG_NOT_SYSLOG']
  Rails.env.production? || Rails.env.staging? ||
    File.exist?('tmp/flog_using_syslog')
end
tail(log_file, lines = nil) click to toggle source
# File lib/flog_ruby/logger_factory.rb, line 248
def tail(log_file, lines = nil)
  return [] if log_file.blank?
  lines = lines.to_i
  lines = 10 if lines < 10
  `tail -n #{lines} #{log_file}`.to_s.split("\n").reverse
end
user_klass() click to toggle source
# File lib/flog_ruby/logger_factory.rb, line 182
def user_klass
  @user_klass ||= ::User
end