Class: DangoLogger
- Includes:
- ErrorMessage
- Defined in:
- lib/dango/dango_logger.rb
Overview
Dango用のロガークラス
Instance Method Summary collapse
- #add(sev, msg = "") ⇒ Object
- #debug(msg = "") ⇒ Object
- #error(msg = "") ⇒ Object
- #fatal(msg = "") ⇒ Object
- #info(msg = "") ⇒ Object
-
#initialize(log_file, log_shift_age, log_max_size, log_level) ⇒ DangoLogger
constructor
A new instance of DangoLogger.
- #unknown(msg = "") ⇒ Object
- #warn(msg = "") ⇒ Object
Methods included from ErrorMessage
Constructor Details
#initialize(log_file, log_shift_age, log_max_size, log_level) ⇒ DangoLogger
Returns a new instance of DangoLogger.
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/dango/dango_logger.rb', line 31 def initialize(log_file, log_shift_age, log_max_size, log_level) @log_file = log_file @log_shift_age = log_shift_age @log_max_size = log_max_size @log_level = log_level if @log_file && @log_file != "" # 出力ファイルが空なら何もしない @is_logging = true else @is_logging = false end if @is_logging log_dir = File.dirname(@log_file) Dir.mkdir(log_dir) if !File.exist?(log_dir) @dango_logger = Logger.new(@log_file, @log_shift_age, @log_max_size) @dango_logger.level = @log_level def @dango_logger.(severity, , msg, progname) now = Time.now now_str = now.strftime("%Y-%m-%d %H:%M:%S.") << "%06d" % now.usec "%1.1s, [%s] %s:%s\n" % [severity, now_str, msg, progname] end @dango_logger.add(1, "--- start log ---", "logger") @log_queue = Queue.new Thread.start do # logger作成 loop do begin data = @log_queue.pop @dango_logger.add(data[:sev], data[:msg], data[:prg]) rescue Exception puts "dango_logger:#{($!, 'u')}" exit! # ログのトラブルが出た場合は強制終了 end end end # Thread.end end end |
Instance Method Details
#add(sev, msg = "") ⇒ Object
109 110 111 112 113 |
# File 'lib/dango/dango_logger.rb', line 109 def add(sev, msg = "") if @is_logging @log_queue.push({:sev=>sev, :msg=>str, :prg=>Thread.current.object_id}) end end |
#debug(msg = "") ⇒ Object
73 74 75 76 77 |
# File 'lib/dango/dango_logger.rb', line 73 def debug(msg = "") if @is_logging @log_queue.push({:sev=>0, :msg=>msg, :prg=>Thread.current.object_id}) end end |
#error(msg = "") ⇒ Object
91 92 93 94 95 |
# File 'lib/dango/dango_logger.rb', line 91 def error(msg = "") if @is_logging @log_queue.push({:sev=>3, :msg=>msg, :prg=>Thread.current.object_id}) end end |
#fatal(msg = "") ⇒ Object
97 98 99 100 101 |
# File 'lib/dango/dango_logger.rb', line 97 def fatal(msg = "") if @is_logging @log_queue.push({:sev=>4, :msg=>msg, :prg=>Thread.current.object_id}) end end |
#info(msg = "") ⇒ Object
79 80 81 82 83 |
# File 'lib/dango/dango_logger.rb', line 79 def info(msg = "") if @is_logging @log_queue.push({:sev=>1, :msg=>msg, :prg=>Thread.current.object_id}) end end |
#unknown(msg = "") ⇒ Object
103 104 105 106 107 |
# File 'lib/dango/dango_logger.rb', line 103 def unknown(msg = "") if @is_logging @log_queue.push({:sev=>5, :msg=>msg, :prg=>Thread.current.object_id}) end end |
#warn(msg = "") ⇒ Object
85 86 87 88 89 |
# File 'lib/dango/dango_logger.rb', line 85 def warn(msg = "") if @is_logging @log_queue.push({:sev=>2, :msg=>msg, :prg=>Thread.current.object_id}) end end |