首页 > 编程知识 正文

spdlog跨进程,log日志级别有哪几种

时间:2023-05-04 09:11:25 阅读:18080 作者:679

csydxysydxy日志工具spdlog spdlog日志是纯头文件,易于使用。 使用的时候只需要简单的初始化就可以了。 这里为其初始化制作了一个简单的包,这样使用起来很方便。

封装类代码头文件cspdlog.h

# ifndef _ CSP dlog _ h _ # define _ CSP dlog _ h _ # include ' sp dlog.h ' # include ' sp dlog/fmt/bin _ to 静态CSP dlog * m _ instance; 公共:静态cspdlog * getinstance (; void init (const STD 33603360 string name,const std:string logPath,STD 33603360 size _ tmax _ size=1048576, STD 33603360 size _ tmax _ size=1048576 voidsetconsoleloglevel (sp dlog :3360 level :3360 level _ enum log _ level; voidsetfileloglevel (sp dlog :3360 level :3360 level _ enum log _ level ); private : STD :3360 vectorspdlog 33603360 sink _ ptrm _ sinks; STD :3360 shared _ ptrspdlog :3360 loggerm _ logger; (; #endif源文件cspdlog.cpp

# include ' CSP dlog.h ' # include cstdio # include iostream # include ' sp dlog/sinks/stdout _ color _ sinks.h '/or inks include ' sp dlog/sinks/rotating _ file _ sink.h ' CSP dlog 33666 voidcspdlog :3360 init (const STD 3360: string name,持续名称) STD 3360: size _ tmax _ STD :3360 size _ tmax _ file (try ) auto console _ sink=STD 3360: make _ sharedspdlog 33365365365306; console _ sink-set _ pattern (' % ^ [ % y-% m-% d % h : % m : % e ] [ % n ] [ tid 3360 % t ] [ % l ] % //autofile _ sink=STD :3360 make _ sharedspdlog 33603360 sinks 33603360 basic _ file _ sink _ mt (logs/multi sinks autofile _ sink=STD :3360 make _ sharedspdlog 33603360 sinks 33603360 rotating _ file _ sink _ mt (log file, max _ file _ sink-set _ pattern ([ % y-% m-% d % h : % m : % e ] [ % n ] [ tid 3360 % t ] [ % l ] % v m_sinks.push_back(console_sink ); m_sinks.push_back(file_sink ); //sp dlog :3360 logger * logger=newspdlog :3360 logger (multi _ sink )、{console_sink、file_sink} ); m _ logger=STD :3360 make _ sharedspdlog 33603360 logger (name,begin(m_sinks ),end ) m_sinks ); //sp dlog :3360 set _ error _ handler () (ConstSTD33603360stringmsg ) printf (* * * * customlogerrorhandler ) ) 要在spdlog中注册的sp dlog :3360 register _ logger (m _ logger ); //m_logger-info(loginitdone.'; m _ logger-flush _ on (sp dlog :3360 level 33603360 level _ enum 33603360 warn ); } catch (constspdlog :3360 sp dlog _ exex ) STD :3360 cout ' loginitial ization faild ' ex.what ) std:endl } voidcspdlog :3360 setconsoleloglevel (sp dlog :3360 level 33603360 level _ enum log _ level ) m_logger-set_ } voidcspdlog 33603360 setfile log level (sp dlog :3360 level 33603360 level _ enum log _ level (m _ sinks [1]-set _ ) CSP dllog CSP dlog * CSP dlog :3360 getinstance () if ) m_instance==null ) {m_instance=new CSpdlog; }return m_instance; }主程序# include stdio.h # include unistd.h # include iostream # includecspdlog.husingnamespacestd; int main () {CSpdlog:GetInstance ) )-init )、(./log ); //一天能干的手机:3360 getinstance (-setconsoleloglevel (sp dlog 33603360 level 33603360 debug ); //终端接口输出电平CSP dlog :3360 getinstance (-setfile log level ) sp dlog 33603360 level 3360: warn ); //log文件设置输出级别auto logger=sp dlog :3360 get (' test ); 获取//日志句柄logger-warn('teststart.' ); int counter=0; while(1) logger-debug (调试msg,counter:(},counter ); Logger-info(infomsg,counter: {} )、counter ); Logger-warn('warnmsg,counter: {} ',counter ); logger-error('errormsg,counter: {} ',counter ); logger-critical('criticalmsg,counter: {} ',counter ); 日志跟踪('跟踪msg,counter:(},counter ); usleep(500000; }返回0; }编译并运行我的通用makefile

#通用制造文件#文件目录debug _ dir=.src _ dir=.Inc _ dir=./spdlogsrc=$ (wild card $ (src _ dir (/* . )=cc=$(arch ) gccCPP=$(arch ) gsydxysydxyar=$(arch ) arstrip=$(arch ) ) ) )。 stripcflagssydxy=-wall-STD=csydxy 11 ldflagssydxy=-lpthreadcflagssydxy=$ (foreach dir,$(Inc_dir ) ), -I$(dir ) ) all:$(target ) (target ) ) :$ ) $(OBJS ) $(OBJS )-o $ @ $ (cflags ) $(LDFLAGS ) @echo$(src ) @echo$ ) (objs ) clean3360-) (echo ) ) echo ) 65 makegsydxysydxy-wall-STD=csydxysydxy 11-I.--- - 编译sp dlog-ccsp dlog.CPP-ocspdlog.ogsydxysydxy-wall-STD=CPP-ocspdlog.ogsydxysydxy-wall-STD=CD的sp dlog

$ catlog/test.txt [ 2021-08-1715336033603360593360526 ] [ test ] [ tid :20418 ] [ warning ] teststart.[ 2021-0000 ] counter : [ 2021-08-1715336033603360593360528 ] [ test ] [ tid 336020418 ] counter : [ 2021-08-1715336036033603605999 关键msg,counter : [ 2021-08-17153360313360003360031 ] [ test ] [ tid :20418 ] [ warning ] warnmsg, counter : [ 2021-08-17153360313360003360032 ] [ test ] [ tid :20418 ] [ error ] error msg, counter : [ 2021-08-17153360313360003360032 ] [ test ] [ tid :20418 ] [关键]关键msg, counter : [ 2021-08-1715336031336000336003360533 ] [ test ] [ tid :20418 ] [ warning ] warnmsg, counter : [ 2021-08-1715336031336000336003360533 ] [ test ] [ tid :20418 ] [ error ] error msg, counter : [ 2021-08-17153360313360003360534 ] [ test ] [ tid :20418 ] [ critical ] critical msg,counter : tes

3359 gitee.com/fens note/demo _ code/tree/master/CPP/sp dlog

微信公众号fensnote

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。