log4cpp-【写日志】:使用log4cpp的基本步骤
转自:http://wyw1986119.blog.163.com/blog/static/6332862008112793346967/
手动使用log4cpp的基本步骤如下:
1. 实例化一个layout 对象;
2. 初始化一个appender 对象;
3. 把layout对象附着在appender对象上;
4. 调用log4cpp::Category::getInstance("name"). 实例化一个category对象;
5. 把appender对象附到category上(根据additivity的值取代其他appender或者附加在其他appender后)。
6. 设置category的优先级;
// FileName: test_log4cpp1.cpp // Test log4cpp by manual operation. // Announce: use as your own risk. // Compile : g++ -otest1 -llog4cpp test_log4cpp1.cpp // Run : ./test1 // Tested : RedHat 7.2 log4cpp0.3.4b // Author : liqun (liqun@nsfocus.com) // Data : 2003-6-27 #include "log4cpp/Category.hh" #include "log4cpp/FileAppender.hh" #include "log4cpp/BasicLayout.hh" int main(int argc, char* argv[]) { // 1实例化一个layout 对象 log4cpp::Layout* layout = new log4cpp::BasicLayout(); // 2. 初始化一个appender 对象 log4cpp::Appender* appender = new log4cpp::FileAppender("FileAppender", "./test_log4cpp1.log"); // 3. 把layout对象附着在appender对象上 appender->setLayout(layout); // 4. 实例化一个category对象 log4cpp::Category& warn_log = log4cpp::Category::getInstance("mywarn"); // 5. 设置additivity为false,替换已有的appender warn_log.setAdditivity(false); // 5. 把appender对象附到category上 warn_log.setAppender(appender); // 6. 设置category的优先级,低于此优先级的日志不被记录 warn_log.setPriority(log4cpp::Priority::WARN); // 记录一些日志 warn_log.info("Program info which cannot be wirten"); warn_log.debug("This debug message will fail to write"); warn_log.alert("Alert info"); // 其他记录日志方式 warn_log.log(log4cpp::Priority::WARN, "This will be a logged warning"); log4cpp::Priority::PriorityLevel priority; bool this_is_critical = true; if(this_is_critical) priority = log4cpp::Priority::CRIT; else priority = log4cpp::Priority::DEBUG; warn_log.log(priority,"Importance depends on context"); warn_log.critStream() << "This will show up << as " << 1 << " critical message" << log4cpp::CategoryStream::ENDLINE; // clean up and flush all appenders log4cpp::Category::shutdown(); return 0; } |
log4cpp-【写日志】:使用log4cpp的基本步骤相关推荐
- java 写日志步骤
项目希望记录用户访问时的历史.所以写日志相当重要,详细步骤如下 (1)新建项目,导入jar包 在官网上下载log4j.jar导入项目中 (2)新建Java类LogTest.java,写如下代码 pub ...
- Linux服务器开发,开源框架log4cpp和日志模块实现
前言 fwrite到用户缓冲区再write再到内核,相比write直接写入内核肯定是多了一个缓冲区.需要特别注意的是,每次写入数据短<1024时候,fwrite效率更高.每次写的数据多,比如29 ...
- python多线程怎么写日志_Python日志记录在多进程下的使用
1. 问题描述 项目中,使用RotatingFileHandler根据日志文件大小来切分日志.设置文件的MaxBytes为1GB, backupCount大小为5. 经查看,发现日志文件的大小均小于1 ...
- cx_oracle写日志信息_浅谈微服务架构之构建日志收集系统
任何复杂的应用程序偶尔都会出现错误.在微服务应用程序中,需要跟踪几十甚至几百个服务发生的情况.要获取系统的整体视图,日志记录和监控至关重要.在微服务架构中,一个业务请求会经历多个服务,收集端到端链路上 ...
- kettle 入门(一)输入输出写日志 / 插入更新
新建转换(不是新建作业) 然后我们先在主对象树里面设置好db连接 测试一下 就可以继续了. 里面有各种数据库的连接类型 根据自己的需求 选择数据库连接 配置好之后 我们就开始写kettle脚本 (在 ...
- 简单的分级别写日志程序
/************************************************************************/ /* * 文件名称:write_log.cpp * ...
- cx_oracle写日志信息_日志系统的设计
笔者在写作本章节的时候,并不敢把此章节的标题叫做<高性能日志系统的设计>,之所以不敢加上"高性能"三个字的原因是: 第一,我对于日志系统设计知识和经验都来自于学习和工作 ...
- 利用stdin stdout stderr及POSIX-linux机制重定向写日志
利用stdin stdout stderr及POSIX-linux机制重定向写日志 由open返回的文件描述符一定是该进程尚未使用的最小描述符.由于程序启动时自动打开文件描述符0.1.2,因此第一次调 ...
- Jmeter 在 beanshell 脚本中写日志
JMETER 在执行时,会写日志数据,我们在编写脚本的时候也可以自己写日志. 日志记录再jmeter 的bin 目录的 jmeter.log 文件中. jmeter 比较人性化,它在这里提供了脚本可以 ...
最新文章
- 【机器视觉】 dev_display算子
- R语言与数据的图表展示(part1)--不知道起啥名,反正就是初步认识一下
- 如何分辨 SAP Fiori Launchpad 里的真假 Fiori 应用
- 从零开始学_JavaScript_系列(21)——dojo(8)(手把手教你封装一个widget)
- 打印结果和调试结果不一样(C语言)
- 微信(支付宝)小程序蓝牙4.0线上项目
- php rabbitmq demo
- LeetCode 1847. 最近的房间(排序离线计算 + 二分查找)
- PyTorch: 各种图像格式相互转化
- P2P-JXTA学习(1)-入门
- [来自软件No1]XP Skin Pack系统主题-把windows 7变回xp的模样
- 使用BitLocker实现磁盘加密、u盘加密、移动硬盘加密
- 痞子衡嵌入式:ARM Cortex-M内核那些事(5)- 一表搜罗指令集
- maven配置本地仓库、maven配置阿里中央仓库
- Linux内核的组成
- EditPlus下载安装及使用
- oracle模板数据文件,Oracle EBS如何通过命令上传XML/BI Publisher数据定义文件和模板文件...
- 4.java基础-static
- EDI对接HELLA成功案例
- java版京东抢购秒杀商品