Class: FlogRuby::LoggerFactory
- Inherits:
-
Object
- Object
- FlogRuby::LoggerFactory
- Defined in:
- lib/flog_ruby/logger_factory.rb
Class Method Summary collapse
- .default_level ⇒ Object
-
.get(biz_name = :stdout, level = nil) ⇒ Object
e.g.
-
.lget(filepath, opts = {}) ⇒ Object
获取有轮滚的logger.
-
.mget(biz_name = :stdout, level = Logger::DEBUG) ⇒ Object
just temp monitor log in: log/xx.log.
- .syslog? ⇒ Boolean
- .tail(log_file, lines = nil) ⇒ Object
- .user_klass ⇒ Object
Class Method Details
.default_level ⇒ Object
211 212 213 214 215 216 217 |
# 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) ⇒ Object
e.g. api, core, default: to STDOUT
187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 |
# 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 = {}) ⇒ Object
获取有轮滚的logger
238 239 240 |
# 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) ⇒ Object
just temp monitor log in: log/xx.log
220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 |
# 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? ⇒ Boolean
242 243 244 245 246 |
# 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) ⇒ Object
248 249 250 251 252 253 |
# 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 ⇒ Object
182 183 184 |
# File 'lib/flog_ruby/logger_factory.rb', line 182 def user_klass @user_klass ||= ::User end |