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