# ![Woodpecker](https://cdn.rawgit.com/niamster/woodpecker/master/logo/woodpecker.png) [![Crates.io](https://img.shields.io/crates/v/woodpecker.svg)](https://crates.io/crates/woodpecker) [![Docs.rs](https://docs.rs/woodpecker/badge.svg)](https://docs.rs/woodpecker) [![Linux Build Status](https://travis-ci.org/niamster/woodpecker.svg?branch=master)](https://travis-ci.org/niamster/woodpecker) [![Windows Build Status](https://ci.appveyor.com/api/projects/status/ljd6pkh8fsx7oh7a/branch/master?svg=true)](https://ci.appveyor.com/project/niamster/woodpecker) [![Codecov](https://codecov.io/gh/niamster/woodpecker/branch/master/graph/badge.svg)](https://codecov.io/gh/niamster/woodpecker) [![Coveralls](https://coveralls.io/repos/github/niamster/woodpecker/badge.svg?branch=master)](https://coveralls.io/github/niamster/woodpecker?branch=master) [![License](https://img.shields.io/crates/l/woodpecker.svg)](https://opensource.org/licenses/Apache-2.0) # Woodpecker - Logging for [Rust][rust] ### Table of Contents * [Status](#status) * [`woodpecker` crate in your project](#in-your-project) * [Features](#features) * [License](#license) * [Credits](#credits) ### Introduction `woodpecker` is a logging framework for [Rust][rust]. The goal is to have a fast, extensible and easy logging in [Rust][rust] application. [rust]: http://rust-lang.org ### Status The project is currently under development and doesn't provide a lot of features. Although the basic feature **logging** is well supported! ### Features The main feature is almost zero overhead if no filtering rules are defined and log is not produced. Currently supported: * pluggable format function * definition of the logging rules via `RUST_LOG` environment variable * multiple log consumers * filtering by module (any part of the module path) * filtering by file (any part of the file path) * filtering by a line range within a file * conditional code execution depending on the log level * logging in a dedicated thread * logging to stdout/stderr * logging to a file * log file rotation (by size) ### Documentation Most of the useful documentation can be gotten using rustdoc. Check it out on [docs.rs/woodpecker](https://docs.rs/woodpecker). ### In your project In Cargo.toml: ```toml [dependencies] woodpecker = "0.4" ``` In your `main.rs`: ```rust #[macro_use] extern crate woodpecker; use woodpecker as wp; fn main() { wp::init(); wp_set_level!(wp::LogLevel::INFO).unwrap(); info!("It's alive!"); } ``` See [examples/basic.rs](https://github.com/niamster/woodpecker/blob/master/examples/basic.rs) for the quick overview. ### License Woodpecker project is licensed under Apache-2.0 license. Logo is licensed under Creative Commons Attribution (CC BY). ### Credits Sprockets for logo are provided by Jon Daiello and Ray Uribe from the Noun Project under Creative Commons Attribution (CC BY).