woodpecker 0.4.0

Fast and extensible logging for Rust
Documentation
# ![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).