广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++日志库log4cplus如何使用
  • 755
分享到

C++日志库log4cplus如何使用

2023-07-05 08:07:42 755人浏览 独家记忆
摘要

本篇内容介绍了“c++日志库log4cplus如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!编译&&安装下载完成在u

本篇内容介绍了“c++日志库log4cplus如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

编译&&安装

下载完成在ubuntn中解压&&编译

(使用默认参数和路径)

sudo ./configure

sudo make

sudo make install

(安装完成后头文件路径默认在/usr/loca/include,库文件路径在/usr/local/lib)

把库文件路径加入到/etc//etc/ld.so.conf文件中然后执行sudo ldconfig

编写demo

测试需要四个文件,是 MyLogger.h , main.cpp , loGConfig.property , CMakeLists.txt (用cmake编译时可用) ,文件内容如下,放入同一个文件夹进行编译

MyLogger.h

#include <log4cplus/logger.h>#include <log4cplus/configurator.h> #include <log4cplus/layout.h> #include <log4cplus/loggingMacros.h> #include <log4cplus/helpers/stringhelper.h> #define MY_LOG_FILE_PATH "logconfig.property"class MyLogger{private:    MyLogger()    {        log4cplus::initialize();        log4cplus::PropertyConfigurator::doConfigure(LOG4CPLUS_TEXT(MY_LOG_FILE_PATH));                m_rootLog = log4cplus::Logger::getRoot();        m_loggerYW = log4cplus::Logger::getInstance("loggerYW");        m_loggerWJ = log4cplus::Logger::getInstance("loggerWJ");        m_loggerUI = log4cplus::Logger::getInstance("loggerUI");         }    ~MyLogger()    {        if (m_logger)        {            delete m_logger;        }    }    static MyLogger* m_logger;public:    static MyLogger * getInstance()    {        if (m_logger == NULL)        {            m_logger = new MyLogger();        }        return m_logger;        }    log4cplus::Logger m_rootLog;        log4cplus::Logger m_loggerYW;    log4cplus::Logger m_loggerWJ;    log4cplus::Logger m_loggerUI;};MyLogger* MyLogger::m_logger = NULL;

main.cpp

#include "MyLogger.h"int main(int argc, char *argv[]){    MyLogger * myLoger = NULL;    myLoger = MyLogger::getInstance();    LOG4CPLUS_FATAL(myLoger->m_loggerYW, "DeleteService failed,errCode=[" << 2 << "]");    LOG4CPLUS_DEBUG(myLoger->m_loggerWJ, " Service is removed");    LOG4CPLUS_DEBUG(myLoger->m_loggerUI, " Service ");        return 0;}

logconfig.property

log4cplus.rootLogger=DEBUG,rootLoggerlog4cplus.appender.rootLogger=log4cplus::RollingFileAppender  #log4cplus.appender.rootLogger=log4cplus::ConsoleAppenderlog4cplus.appender.rootLogger.MaxFileSize=100MBlog4cplus.appender.rootLogger.MaxBackupIndex=2log4cplus.appender.rootLogger.File=rootLogger.loglog4cplus.appender.rootLogger.layout=log4cplus::PatternLayoutlog4cplus.appender.rootLogger.layout.ConversionPattern=%D:%d{%Q}|%p|%t|%l|%m|%nlog4cplus.appender.rootLogger.filters.1=log4cplus::spi::LogLevelRangeFilterlog4cplus.appender.rootLogger.filters.1.LogLevelMin=TRACElog4cplus.appender.rootLogger.filters.1.LogLevelMax=FATALlog4cplus.appender.rootLogger.filters.1.AcceptOnMatch=truelog4cplus.appender.rootLogger.filters.2=log4cplus::spi::DenyAllFilter  log4cplus.logger.loggerYW=DEBUG,loggerYWlog4cplus.appender.loggerYW=log4cplus::RollingFileAppenderlog4cplus.appender.loggerYW.File=loggerYW.loglog4cplus.appender.loggerYW.layout=log4cplus::PatternLayoutlog4cplus.appender.loggerYW.layout.ConversionPattern=%D:%d{%Q}|%p|%t|%l|%m|%nlog4cplus.appender.loggerYW.filters.1=log4cplus::spi::LogLevelRangeFilterlog4cplus.appender.loggerYW.filters.1.LogLevelMin=TRACElog4cplus.appender.loggerYW.filters.1.LogLevelMax=FATALlog4cplus.appender.loggerYW.filters.1.AcceptOnMatch=truelog4cplus.appender.loggerYW.filters.2=log4cplus::spi::DenyAllFilterlog4cplus.appender.loggerYW.MaxFileSize=100MBlog4cplus.appender.loggerYW.MaxBackupIndex=2log4cplus.additivity.loggerYW=falselog4cplus.logger.loggerWJ=DEBUG,loggerWJlog4cplus.appender.loggerWJ=log4cplus::RollingFileAppenderlog4cplus.appender.loggerWJ.File=loggerWJ.loglog4cplus.appender.loggerWJ.layout=log4cplus::PatternLayoutlog4cplus.appender.loggerWJ.layout.ConversionPattern=%D:%d{%Q}|%p|%t|%l|%m|%nlog4cplus.appender.loggerWJ.filters.1=log4cplus::spi::LogLevelRangeFilterlog4cplus.appender.loggerWJ.filters.1.LogLevelMin=TRACElog4cplus.appender.loggerWJ.filters.1.LogLevelMax=FATALlog4cplus.appender.loggerWJ.filters.1.AcceptOnMatch=truelog4cplus.appender.loggerWJ.filters.2=log4cplus::spi::DenyAllFilterlog4cplus.appender.loggerWJ.MaxFileSize=100MBlog4cplus.appender.loggerWJ.MaxBackupIndex=2log4cplus.additivity.loggerWJ=falselog4cplus.logger.loggerUI=DEBUG,loggerUIlog4cplus.appender.loggerUI=log4cplus::RollingFileAppenderlog4cplus.appender.loggerUI.File=loggerUI.loglog4cplus.appender.loggerUI.layout=log4cplus::PatternLayoutlog4cplus.appender.loggerUI.layout.ConversionPattern=%D:%d{%Q}|%p|%t|%l|%m|%nlog4cplus.appender.loggerUI.filters.1=log4cplus::spi::LogLevelRangeFilterlog4cplus.appender.loggerUI.filters.1.LogLevelMin=TRACElog4cplus.appender.loggerUI.filters.1.LogLevelMax=FATALlog4cplus.appender.loggerUI.filters.1.AcceptOnMatch=truelog4cplus.appender.loggerUI.filters.2=log4cplus::spi::DenyAllFilterlog4cplus.appender.loggerUI.MaxFileSize=100MBlog4cplus.appender.loggerUI.MaxBackupIndex=2log4cplus.additivity.loggerUI=false

CMakeLists.txt

# CMake 最低版本号要求CMAKE_MINIMUM_REQUIRED(VERSION 2.8)# 项目名PROJECT(LOG)# 添加第三方的库SET(INC_DIR "/usr/local/include/")SET(LINK_DIR "/usr/local/lib")INCLUDE_DIRECTORIES(${INC_DIR})    # 设置头文件搜索路径LINK_DIRECTORIES(${LINK_DIR})    #指定要链接的库文件的路径,一般不需要# 将第三方的库链接到可执行文件,静态链接LINK_LIBRARIES(log4cplus)# 指定源文件SET(SRC_LIST "main.cpp")MESSAGE(STATUS "SRC_LIST :" ${SRC_LIST})# 指定生成目标ADD_EXECUTABLE(${PROJECT_NAME} ${SRC_LIST})# 将第三方的库链接到可执行文件,动态链接#TARGET_LINK_LIBRARIES(${PROJECT_NAME} log4cplus)# 安装目标文件SET(PROJECT_INSTALL_PREFIX "/mnt/hgfs/VM_Shared/Teselog4cplus/build/dd")INSTALL(TARGETS ${PROJECT_NAME}        DESTINATION ${PROJECT_INSTALL_PREFIX}         PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)# 安装配置文件SET(CONFIG_INSTALL_PREFIX "/mnt/hgfs/VM_Shared/Teselog4cplus/build")        INSTALL(FILES logconfig.property        DESTINATION ${CONFIG_INSTALL_PREFIX})

用cmake进行编译

mkdir workspace //创建工作目录
cd workspace && 创建4个新文件
mkdir build/install -p
cd build
cmake &hellip;/
make
make install

“C++日志库log4cplus如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: C++日志库log4cplus如何使用

本文链接: https://www.lsjlt.com/news/350377.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++日志库log4cplus如何使用
    本篇内容介绍了“C++日志库log4cplus如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!编译&&安装下载完成在u...
    99+
    2023-07-05
  • C++日志库log4cplus的使用详解
    目录编译&&安装编写demo项目中需要打印log,方便程序调试和问题定位分析。C++实现的log4cplus日志库是一种易于使用的C ++日志记录API,可提供线程安...
    99+
    2023-03-01
    C++日志库log4cplus使用 C++ log4cplus C++日志库log4cplus
  • C++第三方日志库log4cplus的安装与使用配置教程
    目录一、log4cplus介绍二、log4cplus下载三、log4cplus配置3.1 打开解决方案3.2 进行相应设置3.3 目标程序的配置四、测试Demo一、log4cplus...
    99+
    2022-11-13
  • C#如何使用日志组件log4net
    本篇内容介绍了“C#如何使用日志组件log4net”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、概述log4net库是Apache lo...
    99+
    2023-07-01
  • C#使用log4net打日志
    首先打开vs,右击解决方案,点击管理解决方案的Nuget包管理 然后我们点击浏览,搜索log4net,进行安装 然后我们需要新建一个名为log4net.config的配置文件,在...
    99+
    2022-11-13
  • C# log4net日志库的用法小结
    目录一、简述二、下载log4net三、添加log4net.dll引用四、添加日志配置log.config五、在AssemblyInfo.cs文件中添加log4net.dll相关参数六...
    99+
    2022-11-12
  • Python中loguru日志库如何使用
    这篇文章主要介绍“Python中loguru日志库如何使用”,在日常操作中,相信很多人在Python中loguru日志库如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中loguru日志库如...
    99+
    2023-07-05
  • C#使用log4net记录日志
    一、Nuget安装log4net --> Install-Package log4net 二、在AssemblyInfo.cs文件中添加log4net.dll的参数。 [a...
    99+
    2022-11-12
  • C#使用日志组件log4net
    目录一、概述1、下载与版本2、Log4net的结构3、日志的级别二、建立log4net配置文件1、配置文件2、Logger3、Appender4、PatternLayout中的转换模...
    99+
    2022-11-13
  • C++Easylogging++日志库配置使用超详细讲解
    目录Easylogging++下载Easylogging++在VS中配置Easylogging++使用Easylogging++Easylogging++ Easylogging++...
    99+
    2022-11-13
    C++ Easylogging++ C++ 日志库Easylogging++
  • Go语言Zap日志库如何使用
    这篇“Go语言Zap日志库如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言Zap日志库如何使用”文章吧。一、日...
    99+
    2023-07-05
  • C#中使用MicrosoftUnity记录日志
    需要记录日志的地方包括:进入方法的时候,传参的时候,统计执行时间,方法返回参数的时候,退出语句块的时候,出现异常的时候,等等。先来体验不使用Micirosoft Unity进行日志记...
    99+
    2022-11-13
  • golang默认Logger日志库在项目中使用Zap日志库
    目录在Go语言项目中使用Zap日志库介绍默认的Go Logger日志库实现Go Logger设置Logger使用LoggerLogger的运行Go Logger的优势和劣势优势劣势U...
    99+
    2022-11-13
  • Golang定制化zap日志库如何使用
    本篇内容主要讲解“Golang定制化zap日志库如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Golang定制化zap日志库如何使用”吧!为什么需要日志一个产品的诞生一定是因为有需求!新...
    99+
    2023-07-05
  • C++ plog日志使用方法介绍
    目录一、下载plog二、在VS中搭建plog编译环境三、使用plog日志库四、QTCreator使用plog日志库五、总结一、下载plog 下载链接:https://github.c...
    99+
    2022-11-13
  • C++第三方日志库Glog的安装与使用介绍
    目录一、glog介绍二、glog下载三、环境介绍三、glog的编译详解3.1 利用CMake进行编译,生成VS解决方案3.2 利用VS对项目进行编译四、glog的基本使用4.1 创建...
    99+
    2022-11-13
  • C#使用Log4.net记录日志文件
    一、简介 1.1 Log4.net优点 几乎所有的大型应用都会有自己的用于跟踪调试的API。因为一旦程序被部署以后,就不太可能再利用专门的调试工具了。然而一个管理员可能需要有一套强大...
    99+
    2022-11-13
  • 怎么使用C++ cmake实现日志类
    本文小编为大家详细介绍“怎么使用C++ cmake实现日志类”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用C++ cmake实现日志类”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。L...
    99+
    2023-07-05
  • C#中如何使用日志记录跟踪程序运行
    C#中如何使用日志记录跟踪程序运行,需要具体代码示例引言:在开发软件时,常常需要对程序运行情况进行跟踪和记录,以便在出现问题时能够准确找到问题所在。日志记录是一种重要的技术手段,可以记录程序的运行状态、错误信息和调试信息,以便进行异常定位和...
    99+
    2023-10-22
    跟踪 程序运行 C#: 日志记录
  • 如何使用Java重定向日志接口记录日志?
    当我们开发一个Java应用程序时,记录日志是非常重要的一个环节。Java提供了多种日志框架,如Log4j、Logback等。其中,重定向日志接口是一种常用的记录日志的方式。 在这篇文章中,我们将介绍如何使用Java重定向日志接口记录日志。我...
    99+
    2023-11-05
    重定向 日志 接口
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作