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
|
2 years ago | |
---|---|---|
src | 2 years ago | |
testing | 2 years ago | |
.gitignore | 2 years ago | |
LICENSE | 2 years ago | |
Makefile | 2 years ago | |
README.md | 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 havegcc
andmake
itself
or
- take out the header and an implementation file and compile the other way that is suitable in your environment
License
MIT