Class: RootLogger
- Inherits:
-
Logger
- Object
- Logger
- RootLogger
- Defined in:
- lib/unicorn-cuba-base/root_logger.rb
Direct Known Subclasses
Defined Under Namespace
Classes: ClassLogger, MetaData
Instance Attribute Summary collapse
-
#meta ⇒ Object
Returns the value of attribute meta.
Instance Method Summary collapse
- #enable_perf_logging ⇒ Object
-
#initialize(logdev = STDERR, &formatter) ⇒ RootLogger
constructor
A new instance of RootLogger.
- #inspect ⇒ Object
- #logger_for(class_obj) ⇒ Object
- #perf(msg) ⇒ Object
- #perf? ⇒ Boolean
- #root_logger ⇒ Object
- #with_meta(hash) ⇒ Object
- #with_meta_context(hash) ⇒ Object
Constructor Details
#initialize(logdev = STDERR, &formatter) ⇒ RootLogger
Returns a new instance of RootLogger.
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/unicorn-cuba-base/root_logger.rb', line 73 def initialize(logdev = STDERR, &formatter) super(logdev) @perf_enabled = false @ext_formatter = proc do |severity, datetime, progname, , msg| if formatter formatter.call(severity, datetime, progname, , msg) else "#{datetime.utc.strftime "%Y-%m-%d %H:%M:%S.%6N %Z"} #{.to_s} #{severity}: #{msg}\n" end end @meta = MetaData.new @meta['pid'] = $$ self.formatter = proc do |severity, datetime, progname, msg| @ext_formatter.call(severity, datetime, progname, @meta, msg) end end |
Instance Attribute Details
#meta ⇒ Object
Returns the value of attribute meta.
115 116 117 |
# File 'lib/unicorn-cuba-base/root_logger.rb', line 115 def @meta end |
Instance Method Details
#enable_perf_logging ⇒ Object
94 95 96 97 |
# File 'lib/unicorn-cuba-base/root_logger.rb', line 94 def enable_perf_logging @perf_enabled = true self end |
#inspect ⇒ Object
142 143 144 |
# File 'lib/unicorn-cuba-base/root_logger.rb', line 142 def inspect "#<RootLogger #{"0x%X" % object_id}>" end |
#logger_for(class_obj) ⇒ Object
107 108 109 |
# File 'lib/unicorn-cuba-base/root_logger.rb', line 107 def logger_for(class_obj) ClassLogger.new(self, class_obj) end |
#perf(msg) ⇒ Object
103 104 105 |
# File 'lib/unicorn-cuba-base/root_logger.rb', line 103 def perf(msg) unknown(msg) if @perf_enabled end |
#perf? ⇒ Boolean
99 100 101 |
# File 'lib/unicorn-cuba-base/root_logger.rb', line 99 def perf? @perf_enabled end |
#root_logger ⇒ Object
111 112 113 |
# File 'lib/unicorn-cuba-base/root_logger.rb', line 111 def root_logger self end |
#with_meta(hash) ⇒ Object
117 118 119 120 121 122 123 124 125 126 127 |
# File 'lib/unicorn-cuba-base/root_logger.rb', line 117 def (hash) n = self.dup n. = MetaData.new(@meta) n..merge! hash # capture new meta hash with this new formatter proc - needed since old formatter proc will point to old object n.formatter = proc do |severity, datetime, progname, msg| @ext_formatter.call(severity, datetime, progname, n., msg) end n end |