(WIP) A lightweight C logging library and parser for event-oriented logs.

Lognestmonster is a general-purpose single-header C logging library that pertains a number of features: * Nested/layer-based logging capabilities * Event-oriented log compilation * Multiple queues or outputs * Full developer customizability on memory allocation * Preprocessor handles to incorporate non-standard memory functions * Full developer customizability on I/O redirection * Generic filesystem log output * End-to-end `stdout` and `stdin` piping, allowing data transfer over serial, socket, or anything else * A binary format lighter than plaintext * A feature-packed but comprehensive standalone deserializer/parser * Interactive textual UI (ncurses) * Logtree filtering/sorting and navigation * Data operations such as binary to plaintext conversions and custom hooks on user-defined events * Optional daemon for hook events * Full developer customizability on data display, program controls, and hook operations _**(WIP)** Not yet meant for development or production use_ ## Performance at Different Optimization Levels Output of `./test performance` as of commit `b54160c`: Optimization Level | Header Binary Size\* (in bytes) | Unit Test Runtime\*\* (in µs) ------------------ | ------------------------------- | ----------------------------- -O0 | 22552 | 70 -O1 | 18424 | 67 -O2 | 22520 | 69 -O3 | 26760 | 68 -Os | 18424 | 69 \*Header binary size is measured by compilation of the following source file: ```c // tests/header_only.c #define LNM_INIT #include "lognestmonster.h" int main(void) { return 0; } ``` \*\*Median taken from 200 trials run in sequence to account for variable processor conditions and behaviors. Run on a mid-tier 3.3GHz processor (i5-4590). Runtime is measured by the execution and output of [the header's unit test](tests/header_unit.c). ## Copyright This package is copyrighted by [Joshua 'joshuas3' Stockin](https://joshstock.in/) and licensed under the [MIT License](LICENSE). A form of the following should be present in each major library source or header file. ```txt lognestmonster Copyright (c) 2020 Joshua 'joshuas3' Stockin This software is licensed under the MIT License. ```