Class: SemanticLogger::Subscriber
- Defined in:
- lib/semantic_logger/subscriber.rb
Direct Known Subclasses
Appender::Bugsnag, Appender::Elasticsearch, Appender::File, Appender::Graylog, Appender::Honeybadger, Appender::Http, Appender::Kafka, Appender::MongoDB, Appender::NewRelic, Appender::Rabbitmq, Appender::Sentry, Appender::Splunk, Appender::Syslog, Appender::Tcp, Appender::Udp, Appender::Wrapper, Metric::NewRelic, Metric::Statsd
Instance Attribute Summary collapse
-
#application ⇒ Object
Allow application name to be set globally or on a per subscriber basis.
-
#formatter ⇒ Object
Every appender has its own formatter.
-
#host ⇒ Object
Allow host name to be set globally or on a per subscriber basis.
-
#logger ⇒ Object
Give each appender its own logger for logging.
-
#metrics ⇒ Object
writeonly
Sets the attribute metrics.
Attributes inherited from Base
Instance Method Summary collapse
-
#close ⇒ Object
A subscriber should implement close if it can.
-
#default_formatter ⇒ Object
Returns [SemanticLogger::Formatters::Default] default formatter for this subscriber.
-
#flush ⇒ Object
A subscriber should implement flush if it can.
-
#level ⇒ Object
Returns the current log level if set, otherwise it logs everything it receives.
-
#should_log?(log) ⇒ Boolean
Whether this log entry meets the criteria to be logged by this appender.
Methods inherited from Base
#backtrace, #fast_tag, #level=, #log, #measure, #named_tags, #payload, #pop_tags, #push_tags, #silence, #tagged, #tags, #with_payload
Instance Attribute Details
#application ⇒ Object
Allow application name to be set globally or on a per subscriber basis.
31 32 33 |
# File 'lib/semantic_logger/subscriber.rb', line 31 def application @application || SemanticLogger.application end |
#formatter ⇒ Object
Every appender has its own formatter
7 8 9 |
# File 'lib/semantic_logger/subscriber.rb', line 7 def formatter @formatter end |
#host ⇒ Object
Allow host name to be set globally or on a per subscriber basis.
36 37 38 |
# File 'lib/semantic_logger/subscriber.rb', line 36 def host @host || SemanticLogger.host end |
#logger ⇒ Object
Give each appender its own logger for logging. For example trace messages sent to services or errors when something fails.
42 43 44 45 46 47 48 |
# File 'lib/semantic_logger/subscriber.rb', line 42 def logger @logger ||= begin logger = SemanticLogger::Processor.logger.clone logger.name = self.class.name logger end end |
#metrics=(value) ⇒ Object (writeonly)
Sets the attribute metrics
8 9 10 |
# File 'lib/semantic_logger/subscriber.rb', line 8 def metrics=(value) @metrics = value end |
Instance Method Details
#close ⇒ Object
A subscriber should implement close if it can.
21 22 23 |
# File 'lib/semantic_logger/subscriber.rb', line 21 def close # NOOP end |
#default_formatter ⇒ Object
Returns [SemanticLogger::Formatters::Default] default formatter for this subscriber.
26 27 28 |
# File 'lib/semantic_logger/subscriber.rb', line 26 def default_formatter SemanticLogger::Formatters::Default.new end |
#flush ⇒ Object
A subscriber should implement flush if it can.
16 17 18 |
# File 'lib/semantic_logger/subscriber.rb', line 16 def flush # NOOP end |
#level ⇒ Object
Returns the current log level if set, otherwise it logs everything it receives.
11 12 13 |
# File 'lib/semantic_logger/subscriber.rb', line 11 def level @level || :trace end |
#should_log?(log) ⇒ Boolean
Whether this log entry meets the criteria to be logged by this appender.
61 62 63 |
# File 'lib/semantic_logger/subscriber.rb', line 61 def should_log?(log) super(log) && (log.metric_only? ? metrics? : true) end |