Dead simple logging library for C/C++
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Kasianov Nikolai Alekseevich 2421318550 Log with custom prefix function added 2 years ago
src Log with custom prefix function added 2 years ago
testing Log with custom prefix function added 2 years ago
.gitignore Initial commit 2 years ago
LICENSE Initial commit 2 years ago
Makefile Initial commit 2 years ago
README.md Log with custom prefix function added 2 years ago

README.md

Slog - dead simple logging library for C/C++

(Pun интендед)

Usage

Logging is done via appropriate (info|warning|error|debug) log functions. Before calling them it is needed to execute set_log_output and pass FILE* of your liking (usually stdout), all log messages will be printed there unless you set_log_output somewhere other place again.

There are log levels as well. By default all levels are set, but you can override them with set_log_level by either specifying one log level (INFO, WARNING, ERROR, DEBUG) or chaining them with |.

#include "logger.h"

int main() {
    set_log_output(stdout);
    set_log_level(INFO|ERROR|WARNING);

    log_info("Some information: %d %s", 123, "fr");
    log_error("%s", "error message");
    log_debug("Debug won't be printed because the flag was not set");
    log_with_prefix("[Custom prefix] ", "5+(4*90)==%d", 5+(4*90));

    // Creates file with fopen's mode and sets log output to it
    create_log_file("logs.log", "w");
    log_info("Writing to a log file now");

    // Closes previously opened log file and sets log output to stdout.
    // Does nothing if log output is std(out|error|input)
    close_log_file();

    log_warning("And to %s again", "stdout");
}

Build

  • make - if you have gcc and make itself

or

  • take out the header and an implementation file and compile the other way that is suitable in your environment

License

MIT