Skip to content

jbr/driftwood

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

driftwood

some logs on the tide

Installation

$ cargo add driftwood

Usage

This crate currently provides three loggers:

Apache common log format

let mut app = tide::new();
app.with(driftwood::ApacheCommonLogger);

Example: 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326

Apache combined log format

let mut app = tide::new();
app.with(driftwood::ApacheCombinedLogger);

Example: 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"

Dev logger

let mut app = tide::new();
app.with(driftwood::DevLogger);

This logger colors the status code based on the status range and is intended to be read by people

Example: GET http://localhost:8080/some/path 200 3.289292ms 227bytes

Intent

This crate intends to support much of the functionality in morgan including custom log formats and may eventually support writing to outputs other than stdout.

Safety

This crate uses #![deny(unsafe_code)] to ensure everything is implemented in 100% Safe Rust.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.