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

Class Method Summary collapse

Class Attribute Details

.log_full_message_levelObject

Returns the value of attribute log_full_message_level.



16
17
18
# File 'lib/appydays/loggable/sequel_logger.rb', line 16

def log_full_message_level
  @log_full_message_level
end

.truncate_messages_overObject

Returns the value of attribute truncate_messages_over.



16
17
18
# File 'lib/appydays/loggable/sequel_logger.rb', line 16

def truncate_messages_over
  @truncate_messages_over
end

.truncation_contextObject

Returns the value of attribute truncation_context.



16
17
18
# File 'lib/appydays/loggable/sequel_logger.rb', line 16

def truncation_context
  @truncation_context
end

.truncation_messageObject

Returns the value of attribute truncation_message.



16
17
18
# File 'lib/appydays/loggable/sequel_logger.rb', line 16

def truncation_message
  @truncation_message
end

Class Method Details

.setdefaultsObject



18
19
20
21
22
# File 'lib/appydays/loggable/sequel_logger.rb', line 18

def setdefaults
  @truncate_messages_over = 2000
  @truncation_message = "<truncated, full message logged at debug>"
  @truncation_context = 200
end

.truncate_message(message) ⇒ Object



24
25
26
27
28
# File 'lib/appydays/loggable/sequel_logger.rb', line 24

def truncate_message(message)
  return message if message.size <= self.truncate_messages_over
  msg = message[...self.truncation_context] + self.truncation_message + message[-self.truncation_context..]
  return msg
end