flogging 0.5.0

This is a fast, flexible logging crate, loosely based on the Java logging package: java.util.logging.
Documentation

FLogging crate

Flogging provides an easy framework for logging.

Log entries can be sent to the console (stdout or stderr), file, memory log, or a custom handler. They can be formatted in various layouts: ISO8601, Simple, Unix TimeStamp, or a custom layout.

Macros and public functions are provided, with the macros being the simplest method of operation.

There are several levels for logging at:

  • SEVERE,
  • WARNING,
  • INFO,
  • CONFIG,
  • FINE,
  • FINER, and
  • FINEST

There are even two special settings:

  • ALL, and
  • OFF

** WARNING **

Version 0.5.0 BREAKS the custom formatter API.

If you have not yet started developing your own versions of the formatter, then this will NOT affect you. The Public API is currently backwards compatible to version (0.4.1).

For the rest of you, please check out FormatType::Custom and view the Change Log.

Acknowledgement

This project was developed as a learning experience. I am fully aware that there are many other logging crates out there, but where is the fun in that? As a hobbyist it seemed like a good idea at the time.

A lot of the functionality has been inspired by, and even copied from (at the API level), the JDK's java.util.logging package. Whether or not it will ever become a full port, only time and my level of interest, will tell. Remember, "learning experience"?

What's in a name?

Flogging, as-in, "Flogging a dead horse", or "Just another f*ing logger". As I wrote above, there are many other logging crates around. This is just my learning spin on a very well covered tool.

What's in a number?

As per the requirements of the crate site (https://crates.io/), I am using Semantic Versioning in accordance with the specifications documented on this site: https://semver.org/.

Therefore, once I am certain that the API is stable, I'll release v1.0.0.

Coverage Report

I have included the latest test coverage report, generated by llvm-cov. It is located here: coverage report.

Change Log

See CHANGELOG.md

Final word

Having said all that, with jokes aside, this is a fully working project. One that I hope others will benefit from. If not just using it, then perhaps learning from the source code displaying the various solutions to the problems involved in providing the functionality.

Anyway, have fun.
Bradley Willcott
mailto:bw.opensource@yahoo.com