`

C++

 
阅读更多

Log4c 实现配置文件动态参数。

 string rootPath = StringUtil::getProjectPath();
 string path = rootPath+"config/log4j/log4cxx.properties";
 FileInputStreamPtr propFile = new FileInputStream(path);
 helpers::Properties props;
 props.load(propFile); 
 vector<LogString> keys =props.propertyNames(); 
 for (vector<LogString>::iterator iter = keys.begin(); iter != keys.end(); ++iter){
  LogString key = *iter; LogString val = props.get(key);
  LogString::iterator iterF1,iterL1;
  int index = val.find(_T("{root_path}"),0);
  //wcout<<val<<"   -----------   "<<index<<endl;
  if(index>=0){
   iterF1 = val.begin()+index;  iterL1 = iterF1+12;
   val.replace(iterF1,iterL1,StringUtil::s2ws(rootPath));
   props.setProperty(key,val);
   wcout<<__FUNCTION__<<val<<"----- "<<index<<" ---- "<<props.get(key)<< endl;
  }
  index=val.find(_T("{investorid}"),0);
  if(index>=0){
   iterF1 = val.begin()+index;  iterL1 = iterF1+12;
   val.replace(iterF1,iterL1,StringUtil::s2ws(name));
   props.setProperty(key,val);
   //wcout<<__FUNCTION__<<val<<"----- "<<index<<" ---- "<<props.get(key)<< endl;
  }
 }
 PropertyConfigurator::configure(props);
 this->logger= Logger::getLogger("SQtrading"); 
 LOG4CXX_INFO(logger,__FUNCTION__<<"[" << name.c_str() << "] rootpath=" << getenv("ROOT_PATH")<<" logfile=" << getenv("LOG_FILE"));

配置文件如下:

#modify
#Wed Jan 23 15:56:21 CST 2019
log4j.logger.PtradeTrading=DEBUG,fileAppender
log4j.appender.fileAppender.layout.ConversionPattern=%d [%p] [%t] %m%n
log4j.appender.fileAppender.Append=true
log4j.appender.fileAppender.File={root_path}/{investorid}.log
log4j.appender.fileAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.fileAppender.datePattern='.'yyyy-MM-dd
log4j.appender.fileAppender.layout=org.apache.log4j.PatternLayout
#sqtrading
log4j.logger.SQtrading=DEBUG,fileAppender2
log4j.appender.fileAppender2.layout.ConversionPattern=%d [%p] [%t] %m%n
log4j.appender.fileAppender2.Append=true
log4j.appender.fileAppender2.File= {root_path}/log/dll/{investorid}.log
log4j.appender.fileAppender2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.fileAppender2.datePattern='.'yyyy-MM-dd
log4j.appender.fileAppender2.layout=org.apache.log4j.PatternLayout

分享到:
评论

相关推荐

    c++代码 c++代码 c++代码

    c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++代码c++...

    C++98、C++03、C++11、C++14、C++17、C++20的CHM查询文档

    内容包含:C++11 C++14 C++17 C++20 注释 C++ 编译器支持情况表 独立与宿主实现 C++ 语言 C++ 关键词 预处理器 C++ 标准库头文件 具名要求 功能特性测试 (C++20) 工具库 类型支持(基本类型、RTTI、类型特性) 概念...

    c++狼人杀 c++狼人杀

    c++狼人杀c++狼人杀c++狼人杀c++狼人杀c++狼人杀c++狼人杀c++狼人杀c++狼人杀c++狼人杀c++狼人杀c++狼人杀c++狼人杀c++狼人杀c++狼人杀c++狼人杀c++狼人杀c++狼人杀c++狼人杀c++狼人杀c++狼人杀c++狼人杀c++狼人杀...

    C++编程实例100篇

    《C++编程实例100篇》是一本深入浅出的C++编程教程,它以实践为主导,通过丰富的实例帮助学习者掌握C++语言的基础和核心概念。这本书的每个实例都精心设计,旨在帮助初学者和有经验的开发者巩固和提升C++编程技能。 ...

    C++面试题笔试题C++ 数据结构算法笔试题资料合集.zip

    C++面试题笔试题C++ 数据结构算法笔试题资料合集: 50个C、C++面试题.pdf C++ 数据结构、算法笔试题.docx C++基础面试题.docx C++开发工程师面试题库.docx C++技能测试试卷一及答案.docx C++技能测试试卷二及答案....

    c++各种小游戏(我们老师的)

    【标题】:“C++各种小游戏(我们老师的)” 在C++编程领域,开发小游戏是一种非常有效的学习实践方式,尤其对于初学者来说。本资源集合包含了我们老师精心制作的一系列C++小游戏,旨在帮助学生深入理解和掌握C++...

    华为c++编码规范&c/c++安全编码规范

    华为c++编码规范和安全编码规范最新3.1版本 华为c++编码规范和安全编码规范最新3.1版本 华为c++编码规范和安全编码规范最新3.1版本 华为c++编码规范和安全编码规范最新3.1版本 华为c++编码规范和安全编码规范最新3.1...

    Dev C++ 6.3安装包,DevC++智能开发平台

    Dev C++是一款轻量级的C++集成开发环境(IDE),专为初学者和专业开发者提供简洁、高效的编程环境。这个6.3版本是其历史上的一个重要里程碑,它结合了GCC编译器(GNU Compiler Collection)和一个用户友好的界面,...

    C++大作业坦克大战源码.zip

    C++大作业坦克大战源码C++大作业坦克大战源码C++大作业坦克大战源码C++大作业坦克大战源码C++大作业坦克大战源码。C++大作业坦克大战源码C++大作业坦克大战源码C++大作业坦克大战源码C++大作业坦克大战源码C++大作业...

    C++飞机大战 C++课程设计

    C++飞机大战 C++课程设计C++飞机大战 C++课程设计C++飞机大战 C++课程设计C++飞机大战 C++课程设计C++飞机大战 C++课程设计C++飞机大战 C++课程设计C++飞机大战 C++课程设计C++飞机大战 C++课程设计C++飞机大战 C++...

    c++小游戏 c++小游戏

    c++小游戏c++小游戏c++小游戏c++小游戏c++小游戏c++小游戏c++小游戏c++小游戏c++小游戏c++小游戏c++小游戏c++小游戏c++小游戏c++小游戏c++小游戏c++小游戏c++小游戏c++小游戏c++小游戏c++小游戏c++小游戏c++小游戏...

    C++语言导学 A Tour of C++(C++之父写的入门书)

    《计算机科学丛书:C++语言导学》作者是C++语言的设计者和最初实现者,写作本书的目的是让有经验的程序员快速了解C++现代语言。书中几乎介绍了C++语言的全部核心功能和重要的标准库组件,以很短的篇幅将C++语言的...

    小熊猫devc++下载包

    小熊猫devc++下载包小熊猫devc++下载包小熊猫devc++下载包小熊猫devc++下载包小熊猫devc++下载包小熊猫devc++下载包小熊猫devc++下载包小熊猫devc++下载包小熊猫devc++下载包小熊猫devc++下载包小熊猫devc++下载包小...

    c++builder6安装包

    C++Builder 6是一款由Borland公司(后被Embarcadero Technologies收购)开发的集成开发环境(IDE),主要用于C++编程语言的应用程序开发。它结合了强大的编译器、调试器、可视化设计工具和其他实用功能,为开发者...

    Visual C++游戏开发经典案例详解.pdf

    《Visual C++游戏开发经典案例详解》这本书是针对使用Visual C++进行游戏开发的专业指南,旨在帮助读者通过实例学习和掌握C++编程语言在游戏开发中的应用。书中的内容覆盖了从基础到高级的游戏开发技术,包括图形...

    C++大作业飞机大战源码.zip

    C++大作业飞机大战源码C++大作业飞机大战源码C++大作业飞机大战源码C++大作业飞机大战源码C++大作业飞机大战源码C++大作业飞机大战源码C++大作业飞机大战源码C++大作业飞机大战源码C++大作业飞机大战源码C++大作业...

    Effective Modern C++:改善C++11和C++14的42个具体做法(中文版 + 英文版)

    《Effective Modern C++:改善C++11和C++14的42个具体做法(影印版)(英文版)》中包括以下主题:剖析花括号初始化、noexcept规范、完美转发、智能指针make函数的优缺点;讲解std∷move,std∷forward,rvalue引用和...

    C++C++C++C++C++C++C++

    C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++

    基于C++语言开发的军旗游戏完整源码

    基于C++语言开发的军旗游戏完整源码 基于C++语言开发的军旗游戏完整源码 基于C++语言开发的军旗游戏完整源码 基于C++语言开发的军旗游戏完整源码 基于C++语言开发的军旗游戏完整源码 基于C++语言开发的军旗游戏完整...

    21天学通C++(第五版) vs2008程序打包 深入浅出MFC 浙大教材C++达内 C++ 华为C++培训资料 visual c++_MFC

    21天学通C++(第五版) vs2008程序打包 深入浅出MFC 浙大教材C++达内 C++ 华为C++培训资料 visual c++_MFC 资源内容: visual c++_MFC 达内 C++ C++课件.ppt c++源码 .rar Core C++ Programming_new.ppt Core C++ ...

Global site tag (gtag.js) - Google Analytics