From 47ae717ef705ea6e06befcc1977a8045a84a66e9 Mon Sep 17 00:00:00 2001 From: Federico Angelilli Date: Tue, 26 Mar 2024 22:06:50 +0100 Subject: Add readme --- README.md | 3 +++ any_log.h | 2 +- test.c | 80 -------------------------------------------------------------- test/log.c | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 84 insertions(+), 81 deletions(-) create mode 100644 README.md delete mode 100644 test.c create mode 100644 test/log.c diff --git a/README.md b/README.md new file mode 100644 index 0000000..d4513ba --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# any\_libs + +single-file C library licensed under MIT diff --git a/any_log.h b/any_log.h index b42f3ea..504b9eb 100644 --- a/any_log.h +++ b/any_log.h @@ -1,6 +1,6 @@ // any_log // -// A single header library that provides a simple and somewhat opinionated +// A single-file library that provides a simple and somewhat opinionated // interface for logging and structured logging. // // To use this library you should choose a suitable file to put the diff --git a/test.c b/test.c deleted file mode 100644 index d5d7d34..0000000 --- a/test.c +++ /dev/null @@ -1,80 +0,0 @@ -#include - -#define ANY_LOG_IMPLEMENT -#define ANY_LOG_MODULE "test" - -#define ANY_LOG_VALUE_BEFORE(level, module, func, message) \ - "{\"module\": \"%s\", \"function\": \"%s\", \"level\": \"%s\", \"message\": \"%s\", ", \ - module, func, any_log_level_strings[level], message - -#define ANY_LOG_VALUE_BOOL(key, value) "\"%s\": %s", key, (value ? "true" : "false") -#define ANY_LOG_VALUE_INT(key, value) "\"%s\": %d", key, value -#define ANY_LOG_VALUE_HEX(key, value) "\"%s\": %u", key, value -#define ANY_LOG_VALUE_LONG(key, value) "\"%s\": %ld", key, value -#define ANY_LOG_VALUE_PTR(key, value) "\"%s\": \"%p\"", key, value -#define ANY_LOG_VALUE_DOUBLE(key, value) "\"%s\": %lf", key, value -#define ANY_LOG_VALUE_STRING(key, value) "\"%s \": \"%s\"", key, value -#define ANY_LOG_VALUE_AFTER(level, module, func, message) "}\n" -#include "any_log.h" - -int main() -{ - any_log_init(stdout, ANY_LOG_DEBUG); - - // Test any_log_level_to_string - log_trace("ANY_LOG_PANIC = %s", any_log_level_to_string(ANY_LOG_PANIC)); - log_trace("ANY_LOG_ERROR = %s", any_log_level_to_string(ANY_LOG_ERROR)); - log_trace("ANY_LOG_WARN = %s", any_log_level_to_string(ANY_LOG_WARN)); - log_trace("ANY_LOG_INFO = %s", any_log_level_to_string(ANY_LOG_INFO)); - log_trace("ANY_LOG_DEBUG = %s", any_log_level_to_string(ANY_LOG_DEBUG)); - log_trace("ANY_LOG_TRACE = %s", any_log_level_to_string(ANY_LOG_TRACE)); - log_trace("ANY_LOG_ALL = %s", any_log_level_to_string(ANY_LOG_ALL)); - - // Test any_log_level_from_string - log_trace("ANY_LOG_PANIC = %d = %d", ANY_LOG_PANIC, - any_log_level_from_string(ANY_LOG_PANIC_STRING)); - - log_trace("ANY_LOG_ERROR = %d = %d", ANY_LOG_ERROR, - any_log_level_from_string(ANY_LOG_ERROR_STRING)); - - log_trace("ANY_LOG_WARN = %d = %d", ANY_LOG_WARN, - any_log_level_from_string(ANY_LOG_WARN_STRING)); - - log_trace("ANY_LOG_INFO = %d = %d", ANY_LOG_INFO, - any_log_level_from_string(ANY_LOG_INFO_STRING)); - - log_trace("ANY_LOG_DEBUG = %d = %d", ANY_LOG_DEBUG, - any_log_level_from_string(ANY_LOG_DEBUG_STRING)); - - log_trace("ANY_LOG_TRACE = %d = %d", ANY_LOG_TRACE, - any_log_level_from_string(ANY_LOG_TRACE_STRING)); - - // Test any_log_value - - log_value_warn("Hello", - "this is a", "string"); - - log_value_info("I'll try", - "d:this is ", 10, - "f:dbl", 20.3333, - "p:a", NULL); - - log_value_info("Created graphical context", - "d:width", 100, - "d:height", 200, - "p:window", NULL, - "f:scale", 1.23, - "b:hidden", true, - "appname", "nice app"); - - // Test any_log_format - - log_trace("Hello"); - log_debug("Hello"); - log_info("Hello"); - log_warn("Hello"); - log_error("Hello"); - log_panic("Hello"); - - return 0; -} diff --git a/test/log.c b/test/log.c new file mode 100644 index 0000000..d5d7d34 --- /dev/null +++ b/test/log.c @@ -0,0 +1,80 @@ +#include + +#define ANY_LOG_IMPLEMENT +#define ANY_LOG_MODULE "test" + +#define ANY_LOG_VALUE_BEFORE(level, module, func, message) \ + "{\"module\": \"%s\", \"function\": \"%s\", \"level\": \"%s\", \"message\": \"%s\", ", \ + module, func, any_log_level_strings[level], message + +#define ANY_LOG_VALUE_BOOL(key, value) "\"%s\": %s", key, (value ? "true" : "false") +#define ANY_LOG_VALUE_INT(key, value) "\"%s\": %d", key, value +#define ANY_LOG_VALUE_HEX(key, value) "\"%s\": %u", key, value +#define ANY_LOG_VALUE_LONG(key, value) "\"%s\": %ld", key, value +#define ANY_LOG_VALUE_PTR(key, value) "\"%s\": \"%p\"", key, value +#define ANY_LOG_VALUE_DOUBLE(key, value) "\"%s\": %lf", key, value +#define ANY_LOG_VALUE_STRING(key, value) "\"%s \": \"%s\"", key, value +#define ANY_LOG_VALUE_AFTER(level, module, func, message) "}\n" +#include "any_log.h" + +int main() +{ + any_log_init(stdout, ANY_LOG_DEBUG); + + // Test any_log_level_to_string + log_trace("ANY_LOG_PANIC = %s", any_log_level_to_string(ANY_LOG_PANIC)); + log_trace("ANY_LOG_ERROR = %s", any_log_level_to_string(ANY_LOG_ERROR)); + log_trace("ANY_LOG_WARN = %s", any_log_level_to_string(ANY_LOG_WARN)); + log_trace("ANY_LOG_INFO = %s", any_log_level_to_string(ANY_LOG_INFO)); + log_trace("ANY_LOG_DEBUG = %s", any_log_level_to_string(ANY_LOG_DEBUG)); + log_trace("ANY_LOG_TRACE = %s", any_log_level_to_string(ANY_LOG_TRACE)); + log_trace("ANY_LOG_ALL = %s", any_log_level_to_string(ANY_LOG_ALL)); + + // Test any_log_level_from_string + log_trace("ANY_LOG_PANIC = %d = %d", ANY_LOG_PANIC, + any_log_level_from_string(ANY_LOG_PANIC_STRING)); + + log_trace("ANY_LOG_ERROR = %d = %d", ANY_LOG_ERROR, + any_log_level_from_string(ANY_LOG_ERROR_STRING)); + + log_trace("ANY_LOG_WARN = %d = %d", ANY_LOG_WARN, + any_log_level_from_string(ANY_LOG_WARN_STRING)); + + log_trace("ANY_LOG_INFO = %d = %d", ANY_LOG_INFO, + any_log_level_from_string(ANY_LOG_INFO_STRING)); + + log_trace("ANY_LOG_DEBUG = %d = %d", ANY_LOG_DEBUG, + any_log_level_from_string(ANY_LOG_DEBUG_STRING)); + + log_trace("ANY_LOG_TRACE = %d = %d", ANY_LOG_TRACE, + any_log_level_from_string(ANY_LOG_TRACE_STRING)); + + // Test any_log_value + + log_value_warn("Hello", + "this is a", "string"); + + log_value_info("I'll try", + "d:this is ", 10, + "f:dbl", 20.3333, + "p:a", NULL); + + log_value_info("Created graphical context", + "d:width", 100, + "d:height", 200, + "p:window", NULL, + "f:scale", 1.23, + "b:hidden", true, + "appname", "nice app"); + + // Test any_log_format + + log_trace("Hello"); + log_debug("Hello"); + log_info("Hello"); + log_warn("Hello"); + log_error("Hello"); + log_panic("Hello"); + + return 0; +} -- cgit v1.2.3