Module: LogEasy::Formatters
- Defined in:
- lib/logeasy/formatters.rb
Overview
Pre-defined formatter procs.
Constant Summary collapse
- LOG_TIMESTAMP =
Timestamp format for use by log formatters.
"%d-%m-%Y %H:%M:%S.%L %z"
- DEFAULT_FORMATTER =
Default formatter that prints messages in the format [TIMESTAMP] [LEVEL] – [LOGGER] - [MESSAGE]
proc do |log_item| logger_name = log_item.logger.name level = log_item.level = log_item. = log_item..strftime(LOG_TIMESTAMP) "[#{}] %-5s -- (%s) - %s\n" % [level, logger_name, ] end
- FULL_LOGGER_NAME_FORMATTER =
Custom formatter that prints messages in the format [TIMESTAMP] [LEVEL] – [LOGGER_FULL_NAME] - [MESSAGE]
proc do |log_item| logger_name = log_item.logger.full_name level = log_item.level = log_item. = log_item..strftime(LOG_TIMESTAMP) "[#{}] %-5s -- (%s) - %s\n" % [level, logger_name, ] end
- STYLED_HTML_FORMATTER =
Styled HTML formatter. Allows the logs to be formatted easily using a CSS.
Each element is applied a class name. The whole log message is wrapped in a <span class=“<LEVEL>”> tag. The timestamp is wrapped in a <span class=“time”> tag. The level is wrapped in a <span class=“level”> tag. The logger name is wrapped in a <span class=“logger”> tag. The message is wrapped in a <span class=“message”> tag.
Unformatted messages are wrapped in a <span class=“UNF”> tag, irrespective of the level they were logged at.
proc do |log_item| if log_item.unformatted level_str = Level::UNFORMATTED.to_s "<span class=\"#{level_str}\">#{log_item.}</span><br />" else level_str = log_item.level.to_s logger_name = "<span class=\"logger\">(#{log_item.logger.name})</span>" level = "<span class=\"level\">#{("%-5s" % level_str)}</span>" = "<span class=\"message\">#{log_item.}</span>" = "<span class=\"time\">[#{log_item..strftime(LOG_TIMESTAMP)}]</span>" "<span class=\"#{level_str}\">#{} #{level} -- #{logger_name} #{}</span><br />" end end