From f4494515ca200cbb42d565c0a0779eb67377f411 Mon Sep 17 00:00:00 2001 From: youmetme <103353084+WangZhongDian@users.noreply.github.com> Date: Thu, 21 Nov 2024 12:13:57 +0800 Subject: [PATCH] Add English brief (#12) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * #feat 增强Fatal级别的底色,修改logging类的方法 * 更新版本号 * 加入test脚本 * fix:conanfile * test action * 修复错别字 * add test on windows action * fix test on windows action * fix action on windows * fix * fix 内存分配错误 * fix msvc 不支持中文注释,删除中文注释 * test on windows and test chinese char * ersion 0.2.4 * feature:根据文件大小分割日志 * fix:内存泄露 * fix:使用char偏移单位 * add english brief --- README.en.md | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 13 ++++++- 2 files changed, 120 insertions(+), 1 deletion(-) create mode 100644 README.en.md diff --git a/README.en.md b/README.en.md new file mode 100644 index 0000000..a35ec21 --- /dev/null +++ b/README.en.md @@ -0,0 +1,108 @@ +# C language logging library logging + +## brief + +Logging is a lightweight and easy-to-use C language log library that supports log level, log format, log output, log files, and other functions. + +## function +- Support log levels: DEBUG, INFO, Warning, ERROR, FATAL +- Support log formats: timestamp, log level, log content +- Support log output: console, file +- Support log files: automatic creation, automatic scrolling, log segmentation + +## install +- Conan +```shell +conan create . +``` +- cmake +```shell +``` + +## usage + +### console log +```c +#include "logging.h" + +int main() { + Logger *logger = newLogger("testLogger", LOG_DEBUG); + + logger->info("This is an info message"); + logger->error("This is an error message%s", "123"); + logger->fatal("This is an fatal message"); + logger->debug("This is a debug message"); + logger->warning("This is a warning message%s", "123"); + + destroyLogger(); + return 0; +} +``` + +### file log +```c +#include "logging.h" +#include "logging/logging-handler.h" + +int main() { + Logger *logger = newLogger("testLogger", LOG_DEBUG); + logger->addHandler(loggingFileHandler("test1", 1024*1024)); + + logger->info("This is an info message"); + logger->error("This is an error message%s", "123"); + logger->fatal("This is an fatal message"); + logger->debug("This is a debug message"); + logger->warning("This is a warning message%s", "123"); + + destroyLogger(); + return 0; +} +``` + +### Logging Interceptor +> Support adding custom interceptors, currently with built-in substring interceptors +> The function of an interceptor is to redirect intercepted logs to the interceptor's dedicated processor + + +#### example +Redirects intercepted logs to a dedicated file processor +```c +#include "logging.h" +#include + +int main() { + Logger *logger = newLogger("testLogger", LOG_DEBUG); + + logger->info("This is an info message"); + logger->error("This is an error message%s", "123"); + logger->fatal("This is an fatal message"); + logger->debug("This is a debug message"); + logger->warning("This is a warning message%s", "123"); + + char *test1[] = {"123", "tt"}; + + log_Interceptor *tint = loggingSubStringInterceptor( + test1, + 2, + LOG_DEBUG, + loggingFileHandler("test_interceptor", 1024 * 1024)); + + logger->addInterceptor(tint); + + printf("\n"); + printf("Interceptor added\n"); + printf("\n"); + + logger->info("This is an info message"); + logger->error("This is an error message%s", "123"); + logger->fatal("This is an fatal message"); + logger->debug("This is a debug message"); + logger->warning("This is a warning message%s", "123"); + + destroyLogger(); + return 0; +} +``` +![](docs/img/2024-09-21-11-44-25.png) +![](docs/img/2024-09-21-11-44-06.png) + diff --git a/README.md b/README.md index 34f0226..3fedfca 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # C语言日志库logging +[English](README.en.md) + ## 简介 logging是一个轻量级的简单易用C语言日志库,支持日志级别、日志格式、日志输出、日志文件等功能。 @@ -9,7 +11,16 @@ logging是一个轻量级的简单易用C语言日志库,支持日志级别、 - 支持日志级别:DEBUG、INFO、WARN、ERROR、FATAL - 支持日志格式:时间戳、日志级别、日志内容 - 支持日志输出:控制台、文件 -- 支持日志文件:自动创建、自动滚动、自动删除(未完成) +- 支持日志文件:自动创建、自动滚动、日志分割 + +## 安装 +- conan安装使用 +```shell +conan create . +``` +- cmake安装使用 +```shell +``` ## 安装 - conan安装使用