3 Star 5 Fork 2

icesky1stm / islog

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

islog

极简的约定大于配置的c语言日志库

概述:

  • 参考了zlog和EasyLogger的写法,考虑到这是一个工具库
  • 因此目标是写了一个简单、高可用的、无配置的日志组件框架和库.
  • 使用springboot的约定大于配置的历年,不需要任何设置init,start等,直接islog_debug即可输出日志.
  • 当然,也可以通过各种暴露的对外函数,对各种属性进行配置以及自定义回调函数等。

功能:

islog日志库包含如下几点功能:

  1. 基于tag的信息配置
  • 默认使用的默认tag,即DEFAULT,此时默认的fmt不显示.
  • 可以基于不同的tag,使用不同的所有配置,默认最多可以设置ISLOG_TAG_NUM个tag
  • 如果使用tag时,使用islog_xxxx_t系列函数 使用扩展宏定义define,来区分不同的tag,如XIPLOG,APPLOG
  1. 日志的输出级别:
  • 控制方式:
  1. 静态、通过宏定义来实现,编译时使用。(因为是类库,也很重要)
  2. 动态、通过API接口来实现,运行时使用。
  • 级别:
    • debug, 调试信息
    • info, 正常信息
    • warn, 警告信息
    • error, 错误信息
  1. 输出的格式定义支持:
  • 支持 日志级别、打印时间、业务标签(MDC?)、进程信息、线程信息、文件路径、行号、方法名
  • 支持自定义format的扩展。
  • TODO hex 16进制格式,主要用于展示不可见报文
  • TODO raw 原始格式,是啥就是啥,完全不加工
  1. 输出内容的过滤:
  • 支持敏感信息如证件号、手机号中间字段的星号加密模式
  1. 输出方式:
  • 内嵌支持输出到终端
  • 内嵌支持文件输出,需要支持:
    • 文件转档
  • 支持扩展输出到远程的信息上,比如syslog或者其他上面,通过回调函数来实现
  • 支持以上几种输出方式的组合
  • TODO 日志输出,使用ringbuffer,支持异步日志输出
MIT License Copyright (c) 2021 icesky Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

一个极简的、无配置的、线程安全的、C语言日志库。 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/icesky1stm/islog.git
git@gitee.com:icesky1stm/islog.git
icesky1stm
islog
islog
main

搜索帮助

53164aa7 5694891 3bd8fe86 5694891