This commit is contained in:
tavo 2025-09-29 17:51:36 -06:00
parent f8f6b28152
commit 7430bc62ff
3 changed files with 46 additions and 11 deletions

View file

@ -12,17 +12,15 @@ else()
add_compile_options(-Wall -Wextra -Wpedantic) add_compile_options(-Wall -Wextra -Wpedantic)
endif() endif()
enable_testing() enable_testing()
add_executable(slog_tests add_executable(slog_main tests/slog.c)
tests/slog.c target_compile_options(slog_main PRIVATE -fmacro-prefix-map=${CMAKE_SOURCE_DIR}/=)
) target_include_directories(slog_main PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
add_test(NAME slog_main COMMAND slog_main)
target_compile_options(slog_tests add_executable(slog_minimal tests/minimal.c)
PRIVATE target_compile_options(slog_minimal PRIVATE -fmacro-prefix-map=${CMAKE_SOURCE_DIR}/=)
-fmacro-prefix-map=${CMAKE_SOURCE_DIR}/= target_include_directories(slog_minimal PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
) add_test(NAME slog_minimal COMMAND slog_minimal)
target_include_directories(slog_tests PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
add_test(NAME slog_tests COMMAND slog_tests)

View file

@ -2,6 +2,23 @@
Single-header structured logger in C99 Single-header structured logger in C99
# Simple usage
```c
...
struct SlogLogger logger = SLOG_DEFAULT_TEXT_LOGGER;
struct SlogAttr attrs[] = {
SlogAttrB("ok", true),
};
SLOG_INFO(&logger, "hello", attrs); // or: SLOG_DEBUG, SLOG_WARN, SLOG_ERROR
// time=2025-09-29T17:46:49.409721457-06:00 level=INFO msg=hello ok=true
...
```
# Advanced usage
```c ```c
#include <slog/slog.h> #include <slog/slog.h>
#include <stdbool.h> #include <stdbool.h>

20
tests/minimal.c Normal file
View file

@ -0,0 +1,20 @@
#include <slog/slog.h>
#include <stdbool.h>
int main(void)
{
struct SlogLogger logger = SLOG_DEFAULT_TEXT_LOGGER;
struct SlogAttr attrs[] = {
SlogAttrB("ok", true),
};
SLOG_INFO(&logger, "hello", attrs);
// time=2025-09-29T17:46:49.409721457-06:00 level=INFO msg=hello ok=true
// SLOG_INFO(&logger, "hello", NULL);
// Warning: size of pointer is divided by size of pointed type
// but still could be used.
return 0;
}