Module: Sequel::Database::AppydaysLogger
- Defined in:
- lib/appydays/loggable/sequel_logger.rb
Overview
Helpers for the Appydays Sequel logger. Very long messages may end up getting logged; the logger will truncate anything longer than truncate_messages_over, with truncation_context number of chars at the beginning and at the end.
If a message is truncated, the full message is logged at log_full_message_level (default :debug). Use nil to disable the full message logging.
Class Attribute Summary collapse
-
.log_full_message_level ⇒ Object
If set, log the full message at this level when truncation occurs.
-
.slow_query_log_level ⇒ Object
Log slow queries at this level.
-
.truncate_messages_over ⇒ Object
Messages more than this many characters are truncated.
-
.truncation_context ⇒ Object
How many characters to preserve before and after truncation.
-
.truncation_message ⇒ Object
Placeholder message when truncation occurs.
Class Method Summary collapse
Class Attribute Details
.log_full_message_level ⇒ Object
If set, log the full message at this level when truncation occurs. For example, a truncated message may be logged at :info, and the full message logged at :default. Defaults to nil (does not log full messages when truncation occurs).
32 33 34 |
# File 'lib/appydays/loggable/sequel_logger.rb', line 32 def end |
.slow_query_log_level ⇒ Object
Log slow queries at this level. See Sequel::Database#log_warn_duration. Default to :warn.
37 38 39 |
# File 'lib/appydays/loggable/sequel_logger.rb', line 37 def slow_query_log_level @slow_query_log_level end |
.truncate_messages_over ⇒ Object
Messages more than this many characters are truncated. Defaults to 2000.
18 19 20 |
# File 'lib/appydays/loggable/sequel_logger.rb', line 18 def end |
.truncation_context ⇒ Object
How many characters to preserve before and after truncation. Defaults to 200 (400 total).
26 27 28 |
# File 'lib/appydays/loggable/sequel_logger.rb', line 26 def truncation_context @truncation_context end |
.truncation_message ⇒ Object
Placeholder message when truncation occurs. Defaults to ‘<truncated>’.
22 23 24 |
# File 'lib/appydays/loggable/sequel_logger.rb', line 22 def end |
Class Method Details
.setdefaults ⇒ Object
39 40 41 42 43 44 |
# File 'lib/appydays/loggable/sequel_logger.rb', line 39 def setdefaults = 2000 = "<truncated>" @truncation_context = 200 @slow_query_log_level = :warn end |
.truncate_message(message) ⇒ Object
46 47 48 49 50 |
# File 'lib/appydays/loggable/sequel_logger.rb', line 46 def () return if .size <= self. msg = [...self.truncation_context] + self. + [-self.truncation_context..] return msg end |