现看看效果如何: 方法如下: 定义相关颜色的宏 #define ESC_START "\033[" #define ESC_END "\033[0m" #define COLOR_FATAL "31;40;5m" #define COLOR_ALERT "31;40;1m" #define COLOR_CRIT "31;40;1m" #define COLOR_ERROR "35;40;1m&qu…
配置文件*.conf 配置文件具体内容如下: [global] #改变量可以不写,默认是true,如果使用设置为true时,Zlog就会严格检查所用格式和规则,否则,忽略所用格式和规则. strict init = true buffer min = buffer max = #转档指定锁文件,用于保证多进程下日志安全转档,使用默认的配置文件为锁文件. #rotate lock file = zlog.lock #日志访问权限, 只允许当前用户访问 [formats] #使用默认日志输出格式 "…
​ 日常情况下,我们自己都会自行实现一些基础的jar包,如dao包.service包或一些其他完成特定功能的jar包.如果没有一套调试日志信息,出现问题时想查找问题非常不方便.可能大多数小伙伴都会有自己的一套查找问题的方法. ​ 但在jar包中添加日志信息输出还是有必要的. ​ 我们自己实现的jar包中不能写死使用哪一种日志库输出,必竟现在有好几个比较流行的日志库.jdk中自带有一个,log4j ,logback,apache logging,slf4j等都是效率比较高的日志信息.有这么多可用的…
c++ 高性能日志库(muduo_AsyncLogging) 实现一个高效的网络日志库要解决那些问题? 首先明确一下问题的模型,这是一个典型的多生产者 单消费者问题,对于前端的日志库使用者来说,应该做到非阻塞添加,作为后端的文件写入,应该注意磁盘IO的瓶颈. 功能需求 日志的级别分级 发生时间和具体线程信息 线程安全 实现思路 多个线程共有一个前端,通过后端写入磁盘文件 异步日志是必须的,所以需要一个缓冲区,在这里我们使用的是多缓冲技术,基本思路是准备多块Buffer,前端负责向Buffer中填…
zlog简述: log是一个高性能.线程安全.灵活.概念清晰的纯C日志函数库. 事实上,在C的世界里面没有特别好的日志函数库(就像JAVA里面的的log4j,或者C++的log4cxx).C程序员都喜欢用自己的轮子.printf就是个挺好的轮子,但没办法通过配置改变日志的格式或者输出文件.syslog是个系统级别的轮子,不过速度慢,而且功能比较单调.log4c异常坑爹(有内存泄漏.效率低等等),而且已经停止开发 zlog有这些特性: *  syslog分类模型,基于规则路由过滤,比log4j模型…
前言 最近在尝试阅读字节开源RPC框架Kitex的源码,看到日志库klog部分,果不其然在Go原生的log库的基础上增加了自己的设计,大体包括增加了一些格式化的输出.增加一些常用的日志级别等. 一番了解后,发现有不少开源的日志库也做了类似的事情,以补充原生log库的不足.因为Go原生的log库本身也比较简单,这篇文章先分析一下它的实现,为后续阅读Kitex的日志库klog做一下铺垫. 本次分析基于:GO SDK 1.18.1 /src/log/log.go的源码. log库的使用 结果如下: 第…
Google图片加载库Glide的简单封装GlideUtils 因为项目里用的Glide的地方比较多,所有简单的封装了以下,其实也没什么,就是写了个工具类,但是还是要把基础说下 Glide的Github https://github.com/bumptech/glide Glide简单配置 Glide有三种集成的方式 1.JAR 点击下载Glide.jar Gradle(推荐) 首先需要在你model的build.gradle里添加 repositories { // jcenter() wor…
之前使用 log4c 或者 log4cpp 的时候, 总需要配置一些文件和链接库之类复杂的配置. 虽然越复杂越说明这个软件支持的功能多.可选择性强, 但是对于一个小的项目,或者要研究他人的代码而加点儿日志的时候, 用这么复杂的配置就没必要了. 所以我就想,要不写个简单一些的日志库, 这样再用到不需要那么复杂的日志控制工具的时候, 就不用每次都配置环境,也不用写配置文件什么的了. 所以我就写了个这个库,因为过于简单,代码也不多, 也就没必要做成lib库,直接编译到代码里就可以了. 下面从一个简单的…
[ global] strict init = false buffer min = buffer max = 2MB rotate lock file= /tmp/zlog.lock [formats] normal = "%d.%us [%V][%F:%L] %m%n" [ rules ] asr_level.* "/home/test/asr.log";normal 注意:如果配置了rotate lock file项,在自己本机测试时候,注意删除一下zlog.…
若有任何疑问可通过邮件或微博联系我 项目名称 项目简介 1. react-native 这个是 Facebook 在 React.js Conf 2015 大会上推出的基于 JavaScript 的开源框架 React Native, 该框架结合了 Web 应用和 Native 应用的优势, 可以使用 JavaScript 来开发 iOS 和 Android 原生应用 2.Android-Universal-Image-Loader ImageLoader 是最早开源的 Android 图片缓存…