Skip to content

kristianmandrup/log4r-color

Repository files navigation

A flexible logging library for Ruby, now in color

This project is currently decoupled from the main log4r project which it rests on.
The main addition to log4r in this project is the ColorOutputter which uses colorize to display logs in the console/terminal with colorschemes for each log level to make it easy to distinquish them.

This project is used in logging_assist which wraps log4r-color in a convenient DSL syntax.

Release

This release: 1.2
Release date: Jan/2011
License: LGPLv3

Contributors

  • Colby Gutierrez-Kraybill
  • Kristian Mandrup (ColorOutputter)
  • Leon Torres – Original Maintainer
  • Martain Stannard – RollingFileOutputter
  • Steve Lumos – SyslogOutputter
  • Mark Lewandowski – ScribeOutputter
  • Andreas Hund – YamlConfigurator
  • Jamis Buck – log4r.gemspec
  • Charles Strahan – log4jxml/chainsaw integration
  • Nitay Joffe – STARTTLS
  • David Siegal – Smart updates to RollingFileOutputter

Homepage
Download

Summary

Log4r is a comprehensive and flexible logging library written in Ruby for use
in Ruby programs. It features a hierarchical logging system of any number of
levels, custom level names, logger inheritance, multiple output destinations
per log event, execution tracing, custom formatting, thread safteyness, XML
and YAML configuration, and more.

Requirements

  • (required) Ruby >= 1.7.0 (use log4r 1.0.2 for Ruby 1.6)
  • (optional) RubyGems for installing Log4r as a gem
  • (optional) Ruby syslog library for SyslogOutputter
  • (optional) XML configuration requires REXML
  • (optional) log4j chainsaw integration requires ‘builder’ >= 2.0
  • (optional) STARTTLS email login, requires ’smtp_tls" if Ruby <= 1.8.6

Gem requirements

  • colorize
  • scribe

Install

gem install log4r-color

Usage

Here is an example of setting up a logger with ColorOutputter using a color scheme. While logging, one of the color schemes is changed and it applies immediately to log messages after.

require 'log4r-color'
include Log4r

Logger.global.level = ALL
formatter = PatternFormatter.new(:pattern => "%l - %m - %c")

ColorOutputter.new 'color', {:colors => 
  { 
    :debug  => :light_blue, 
    :info   => :light_blue, 
    :warn   => :yellow, 
    :error  => :red, 
    :fatal  => {:color => :red, :background => :white} 
  } 
}

Logger.new('color_logger', DEBUG).add('color')

def do_logging(log)
  puts "--"
  log.debug "This is debug"
  log.info "This is info"
  log.warn "This is warn"
  Outputter['color'].colors[:info] = :green
  log.info "This is info again, now in green"
  log.error "This is error"
  log.fatal "This is fatal"  
end

do_logging Logger['color_logger']  

Note: You can set the log levels you allow via the `Log4r.LNAMES` constant, by default set to `['ALL']` to allow any log level.

More Info

  • Installation instructions are in the file INSTALL
  • Comprehensive examples are provided in examples/ and can be run right away
  • The changelog
  • Log4r is hosted by RubyForge, which provides news, bug tracking and a forum
  • Feel free to bug the maintainer with any questions (listed at top of file)

Usability

Log4r works really well, so please take advantage of it right away! :)
All versions since 0.9.2 have been stable and backward-compatible. The
code is stable enough that updates are infrequent and usually only for
adding features or keeping the code up to date with Ruby.

Platform Issues

Log4r is known to work on Linux and WindowsXP. It’s safe to assume that Log4r
will work on any Ruby-supported platform.

When Trouble Strikes

Log4r comes with an internal logger. To see its output, create a logger
named ‘log4r’ before any others and give it a suitable outputter,

  trouble = Logger.new['log4r']
  trouble.add Outputter.stdout  

About

log4r now with color outputs to terminal/console

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published