首页 > 编程语言 >一个基于C++11的异步安全日志库

一个基于C++11的异步安全日志库

时间:2023-06-04 22:44:37浏览次数:59  
标签:11 异步 log C++ li std async 日志

0 源码获取

1 概述

  • 这是一个基于c++11的异步日志库
  • 目前仅支持windows
  • 已通过 VS2019 + windows11 测试。
  • 支持自动清理距今指定天数的日志
  • 支持设定日志文件输出路径

2 待实现

  • 支持linux

3 一个范例

  • 使用范例
	std::unique_ptr<oct_tk::AsyncLogging>async_log = std::make_unique<oct_tk::AsyncLogging>();
	/// 设置日志记录目录
	oct_tk::LogInit li;
	li.rolling_size_ = 20;
	/// 将日志记录在可可秩序程序所在目录下的log文件夹
	li.foler_ = getExecutablePath() + std::string("/log");
	/// 1. 初始化, 参数,设置日志记录路径等参数。
	async_log->init(li);
	///  2. 启动日志落地线程
	async_log->begin();
	/// 要写入的日志
	const std::string lon_line{"1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ~@#$%^&*()_-+=[]{}.,?\n" };
	/// 写入
	async_log->append(lon_line.c_str(), len);
	/// 释放
	async_log->shutdown();

5 效果

标签:11,异步,log,C++,li,std,async,日志
From: https://www.cnblogs.com/pandamohist/p/17456578.html

相关文章

  • C++ 多态原理
    多态就是多种形态,C++的多态分为静态多态与动态多态。动态多态就是通过继承重写基类的虚函数实现的多态,在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。多态的总结:(1)用virtual关键字声明的函数叫做虚函数,虚函数肯定是类的......
  • Andrid listview异步图片加载之优化篇
    关于listview的异步加载,网上其实很多示例了,总体思想差不多,不过很多版本或是有bug,或是有性能问题有待优化。有鉴于此,本人在网上找了个相对理想的版本并在此基础上进行改造,下面就让在下阐述其原理以探索个中奥秘,与诸君共赏…        贴张效果图先:         异步加载......
  • JS中的异步编程
    目录前言什么是Promise?为什么用fetch?async、await基本使用方法ajax请求自定义请求HTML请求JSON请求ResponsemetadataPostformPostJSONFileupload注意点前言fetch是用来替代传统的XMLHttpRequest的。fetch的优点很多,包括链式调用的语法、返回promise等。什么是Promi......
  • QT的特殊命名空间方式和C++对比
    Qt有以下的写法QT_BEGIN_NAMESPACEnamespaceUi{classWidget;}QT_END_NAMESPACE在开始和结束关键字中间进行命名空间的创建及其内部类的声明 而C++则是直接进行创建namespaceMyNamespace{//在MyNamespace命名空间内定义的类、函数、变量等classMyC......
  • C++ 多态 虚函数virtual
    先解释虚函数,对于基类,子类继承基类后可能会调用其某个函数FA,而不同的子类继承了同一个基类后需要基类内某个同样的函数FA但又不是同个作用,此时则会在对应的子类内对应重载派生出FA_B函数和FA_C函数,而这时要求FA为虚函数(virtual)那为什么不各自写成一个函数B和C呢?这就是多态的意......
  • 笔记: 解决Win11控制台乱码
    控制台乱码的原因是因为中文windows命令行默认编码页是gb2312,想输出中文只要把控制台的编码页修改成Unicode就可以了。在cmd里输入chcp65001再运行程序......
  • 异步执行
    异步执行远程查询库存@FeignClient("gulimall-ware")publicinterfaceWmFeignService{//查询是否有库存@PostMapping("ware/waresku/hasstock")//ware/wareskupublicRgetSkusHassStock(@RequestBodyList<Long>skuIds);}gulimall-ware中注......
  • C++程序开发技巧
    引言类(class)的使用分为两种——基于对象(objectBased)和面向对象(objectoriented)基于对象是指,程序设计中单一的类,和其他类没有任何关系单一的类又分为:不带指针的类(classwithoutpointermembers)和带指针的类(classwithpointermembers)面向对象则是类(class)中涉及了类之间的关......
  • 计应211四组零食销售系统设计
    系统用例分析系统的用户共有两种,顾客和管理员并且不同的用户权限各不相同  0   实体类模型设计在线零食销售系统主要有两大实体用户与管理员,管理员与用户是一对多的关系。系统关系图如下所示 购物车操作步骤如下所示1、顾客先登录到购物车页面2、顾客......
  • php 验证身份证有效性,根据国家标准GB 11643-1999 15位和18位通用
    校验函数//验证身份证是否有效functionvalidateIDCard($IDCard){if(strlen($IDCard)==18){returncheck18IDCard($IDCard);}elseif((strlen($IDCard)==15)){$IDCard=convertIDCard15to18($IDCard);returncheck18IDCard($IDC......