当前位置: 首页 > news >正文

网站建设费用预算表、在线资源搜索引擎

网站建设费用预算表、,在线资源搜索引擎,做网站的怎么赚钱,深圳10大劳务公司项目中需要打印log,方便程序调试和问题定位分析。C实现的log4cplus日志库是一种易于使用的C 日志记录API,可提供线程安全,灵活且任意粒度的日志管理和配置控制。 下面介绍一下在linux中安装log4cplus库过程 下载地址:https://gi…

项目中需要打印log,方便程序调试和问题定位分析。C++实现的log4cplus日志库是一种易于使用的C ++日志记录API,可提供线程安全,灵活且任意粒度的日志管理和配置控制。

下面介绍一下在linux中安装log4cplus库过程

下载地址:https://github.com/log4cplus/log4cplus/releases
我选择的是比较新的版本(V2.1.0)

编译&&安装

下载完成在ubuntn中解压&&编译
(使用默认参数和路径)
1、sudo ./configure
2、sudo make
3、sudo make install
(安装完成后头文件路径默认在/usr/loca/include,库文件路径在/usr/local/lib)
4、把库文件路径加入到/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,rootLogger
log4cplus.appender.rootLogger=log4cplus::RollingFileAppender  
#log4cplus.appender.rootLogger=log4cplus::ConsoleAppender
log4cplus.appender.rootLogger.MaxFileSize=100MB
log4cplus.appender.rootLogger.MaxBackupIndex=2
log4cplus.appender.rootLogger.File=rootLogger.log
log4cplus.appender.rootLogger.layout=log4cplus::PatternLayout
log4cplus.appender.rootLogger.layout.ConversionPattern=%D:%d{%Q}|%p|%t|%l|%m|%n
log4cplus.appender.rootLogger.filters.1=log4cplus::spi::LogLevelRangeFilter
log4cplus.appender.rootLogger.filters.1.LogLevelMin=TRACE
log4cplus.appender.rootLogger.filters.1.LogLevelMax=FATAL
log4cplus.appender.rootLogger.filters.1.AcceptOnMatch=true
log4cplus.appender.rootLogger.filters.2=log4cplus::spi::DenyAllFilterlog4cplus.logger.loggerYW=DEBUG,loggerYW
log4cplus.appender.loggerYW=log4cplus::RollingFileAppender
log4cplus.appender.loggerYW.File=loggerYW.log
log4cplus.appender.loggerYW.layout=log4cplus::PatternLayout
log4cplus.appender.loggerYW.layout.ConversionPattern=%D:%d{%Q}|%p|%t|%l|%m|%n
log4cplus.appender.loggerYW.filters.1=log4cplus::spi::LogLevelRangeFilter
log4cplus.appender.loggerYW.filters.1.LogLevelMin=TRACE
log4cplus.appender.loggerYW.filters.1.LogLevelMax=FATAL
log4cplus.appender.loggerYW.filters.1.AcceptOnMatch=true
log4cplus.appender.loggerYW.filters.2=log4cplus::spi::DenyAllFilter
log4cplus.appender.loggerYW.MaxFileSize=100MB
log4cplus.appender.loggerYW.MaxBackupIndex=2
log4cplus.additivity.loggerYW=falselog4cplus.logger.loggerWJ=DEBUG,loggerWJ
log4cplus.appender.loggerWJ=log4cplus::RollingFileAppender
log4cplus.appender.loggerWJ.File=loggerWJ.log
log4cplus.appender.loggerWJ.layout=log4cplus::PatternLayout
log4cplus.appender.loggerWJ.layout.ConversionPattern=%D:%d{%Q}|%p|%t|%l|%m|%n
log4cplus.appender.loggerWJ.filters.1=log4cplus::spi::LogLevelRangeFilter
log4cplus.appender.loggerWJ.filters.1.LogLevelMin=TRACE
log4cplus.appender.loggerWJ.filters.1.LogLevelMax=FATAL
log4cplus.appender.loggerWJ.filters.1.AcceptOnMatch=true
log4cplus.appender.loggerWJ.filters.2=log4cplus::spi::DenyAllFilter
log4cplus.appender.loggerWJ.MaxFileSize=100MB
log4cplus.appender.loggerWJ.MaxBackupIndex=2
log4cplus.additivity.loggerWJ=falselog4cplus.logger.loggerUI=DEBUG,loggerUI
log4cplus.appender.loggerUI=log4cplus::RollingFileAppender
log4cplus.appender.loggerUI.File=loggerUI.log
log4cplus.appender.loggerUI.layout=log4cplus::PatternLayout
log4cplus.appender.loggerUI.layout.ConversionPattern=%D:%d{%Q}|%p|%t|%l|%m|%n
log4cplus.appender.loggerUI.filters.1=log4cplus::spi::LogLevelRangeFilter
log4cplus.appender.loggerUI.filters.1.LogLevelMin=TRACE
log4cplus.appender.loggerUI.filters.1.LogLevelMax=FATAL
log4cplus.appender.loggerUI.filters.1.AcceptOnMatch=true
log4cplus.appender.loggerUI.filters.2=log4cplus::spi::DenyAllFilter
log4cplus.appender.loggerUI.MaxFileSize=100MB
log4cplus.appender.loggerUI.MaxBackupIndex=2
log4cplus.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.propertyDESTINATION ${CONFIG_INSTALL_PREFIX})

用cmake进行编译
mkdir workspace //创建工作目录
cd workspace && 创建4个新文件
mkdir build/install -p
cd build
cmake …/
make
make install

http://www.dt0577.cn/news/25410.html

相关文章:

  • 网站开发主流襄阳网站推广优化技巧
  • 整套vi设计都包含哪些看seo
  • 设计高端网站建设seo基础课程
  • 前端开发转行做什么好长春网站优化咨询
  • 青岛网站建设方案托管百度竞价排名点击软件
  • wordpress 简报网站seo快速排名优化的软件
  • 山西大同网站建设哪家好电子商务网络营销
  • 建设网站申请怎么建立一个属于自己的网站
  • 我想做个网站怎么做广州网站外包
  • 中国万网注册网站百度网站怎么申请注册
  • 珠海网站建设策划seo实战培训教程
  • 电子商务网站后台核心管理国内免费推广产品的网站
  • 网站icp自主备案操作指南(带图说明)昆山网站制作哪家好
  • 网站前端设计全能搜
  • 网站建设的内容有哪些百度站长之家
  • 2012r2网站建设全网营销系统是干什么的
  • wordpress智能机器人网站优化策略分析
  • 全包网站汽车宣传软文
  • openwrt做网站点击器
  • 招聘网站可以同时做两份简历吗6站长工具端口查询
  • 淘宝店铺装修南宁网站seo优化公司
  • 计算机软件开发工资高吗trinseo公司
  • 公司网站备案需要每年做吗我对网络营销的理解
  • 武汉人才网官网首页大侠seo外链自动群发工具
  • 企业网站建设公司 宣武电商seo与sem是什么
  • 东莞南城网站开发公司建立免费网站
  • 环保企业的网站怎么做湖南竞价优化专业公司
  • 免费做旅游海报的网站营销推广方式
  • 在哪个网站上做预收款报告杭州seo公司排名
  • 香港网站域名申请网络营销方案ppt