log.c is a compact logging library implemented in C99 for projects that need useful runtime diagnostics without pulling in a large dependency. It provides six familiar logging levels, from trace through fatal, and uses printf-style formatting so developers can add structured messages with minimal learning curve. By default, it writes readable log lines to stderr with timestamps, levels, source file names, and line numbers. It also supports quiet mode, configurable log levels, file outputs, custom callbacks, and optional thread locking for multi-threaded programs. Developers can enable ANSI color output at compile time to make terminal logs easier to scan. The library is a practical fit for small C applications, tools, engines, and libraries that need clear logging while keeping the implementation simple.
Features
- Six logging level macros
- printf-style formatted messages
- Configurable minimum log level
- Optional quiet mode
- File and callback log outputs
- Optional ANSI color support