easylogging++入门指南

1、将easylogging++.h和 easylogging++.cpp复制到工程目录下,然后将这两个文件添加到工程中,将easylogging++.cpp的预编译头->不使用预编译头

    包含easylogging++.h头文件
    使用宏 INITIALIZE_EASYLOGGINGPP 初始化

PS:初始化宏 INITIALIZE_EASYLOGGINGPP 必须使用而且只能使用一次,否则将会产生编译错误。最好的放置这个初始化宏的地方是位于程序入口函数所在文件的顶部,紧跟在包含头文件的代码后面。

#include "easylogging++.h"
INITIALIZE_EASYLOGGINGPP

 

2、如果使用Unicode.请在工程 c++->预处理器-》ELPP_UNICODE

3、如果使用多线程,请在工程 c++->预处理器-》ELPP_THREAD_SAFE

4、配置文件格式:

* GLOBAL:
    ENABLED               =   true
    TO_FILE                 =   true
    TO_STANDARD_OUTPUT      =   true
    FORMAT                  =   "[%level | %datetime] | %msg"
    FILENAME                =   "log_%datetime{%Y%M%d}.log"
    MILLISECONDS_WIDTH      =   3
    PERFORMANCE_TRACKING    =   false
    MAX_LOG_FILE_SIZE       =   1048576
    LOG_FLUSH_THRESHOLD     =   0
    
* TRACE:
    FILENAME                =   "log\\trace_log_%datetime{%Y%M%d}.log"
    
* DEBUG:
    FILENAME                =   "log\\debug_log_%datetime{%Y%M%d}.log"
    
* FATAL:
    ENABLED                 =   false
    
* ERROR:
    FILENAME                =   "log\\error_log_%datetime{%Y%M%d}.log"
    
* WARNING:
    FILENAME                =   "log\\warning_log_%datetime{%Y%M%d}.log"
    
* INFO:
    FILENAME                =   "d:\\log\\info_log_%datetime{%Y%M%d}.log"
    
* VERBOSE:
    ENABLED                 =   false

 

5、在Main()开始出载入配置文件:

   GetProgramFullPath();
    char m_cTemp[1024] = { 0 };
    if (strlen(g_cProgramPath)>0)
    {
        strcat(m_cTemp, g_cProgramPath);
        strcat(m_cTemp, "my_log.conf");
    }
    else
    {
        strcpy(m_cTemp, "D://my_log.conf");
    }

    el::Configurations conf(m_cTemp);
    el::Loggers::reconfigureAllLoggers(conf);
    /// 防止Fatal级别日志中断程序
    el::Loggers::addFlag(el::LoggingFlag::DisableApplicationAbortOnFatalLog);

 

6、记录日志

LOG(ERROR) << L"Register Service Main Function Error!";

 

7、PS:注意配置文件中日志路径,如果是windows的服务程序,需要写入绝对路径,否则无法在你想要的目录中看到日志文件

例如: FILENAME                =   "d:\\log\\info_log_%datetime{%Y%M%d}.log"

 

 

 


 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Easylogging是一个简单易用的日志库,它可以帮助开发人员在程序运行过程中记录并追踪各种日志信息。它提供了许多便捷的方法,使开发人员能够根据实际需要对日志进行配置,并将其输出到不同的地方,如控制台、文件等。 多线程是一种在同一个进程中同时执行多个任务的方法。多线程可以提高程序的并发性和效率,但也会带来一些问题。其中一个常见的问题是内存暴涨。 内存暴涨指的是程序在运行过程中占用的内存空间急剧增加。多线程程序中,每个线程都有自己的栈空间,用于存储局部变量等数据。当多个线程同时执行时,可能会导致大量的栈帧被同时创建和销毁,从而占用大量的内存空间。此外,多线程程序还可能存在共享数据的问题,需要使用一些同步机制来保证数据的正确性,这也会增加内存的开销。 为了解决多线程程序中的内存暴涨问题,可以采取一些措施。首先,可以对线程进行优化,尽量减少线程的创建和销毁次数,减少栈空间占用。其次,可以优化共享数据的访问方式,使用一些高效的同步机制,如读写锁、原子操作等,减少内存开销。此外,还可以使用一些内存管理工具来监测和调优程序的内存使用情况,及时发现和解决内存暴涨问题。 总结来说,Easylogging可以帮助我们方便地记录和追踪日志信息,多线程能够提高程序的并发性和效率,但同时也会带来内存暴涨的问题。为了解决内存暴涨,我们可以采取一些优化措施,减少线程的创建和销毁次数,优化共享数据的访问方式,并使用内存管理工具监测和调优程序的内存使用情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值