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) "[#{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) "[#{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.message}</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.message}</span>" = "<span class=\"time\">[#{log_item.timestamp.strftime(LOG_TIMESTAMP)}]</span>" "<span class=\"#{level_str}\">#{timestamp} #{level} -- #{logger_name} #{message}</span><br />" end end