C++日志系统log4cxx
安装
yum安装
直接使用yum安装log4cxx.x86_64(库文件) log4cxx-devel.x86_64(头文件)
yum install log4cxx.x86_64 # 库文件
yum install log4cxx-devel.x86_64 # 头文件
源码安装
log4cxx的编译依赖于apr和apr-util这两个组件。
从http://archive.apache.org/dist/apr/下载这两个依赖组件的源码包。
从https://logging.apache.org/log4cxx/latest_stable/download.html下载log4cxx源码包。
附apr(Apache Portable Runtime)官网。
# 编译安装apr
tar -zxvf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local
make
make install# 编译安装apr-util
tar -zxvf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local --with-apr=/usr/local
make
make install# 编译安装log4cxx
tar -zxvf apache-log4cxx-0.10.0.tar.gz
cd apache-log4cxx-0.10.0
vim src/main/cpp/inputstreamreader.cpp #增加#include<string.h>
vim src/main/cpp/socketoutputstream.cpp #增加#include<string.h>
vim src/examples/cpp/console.cpp #增加#include<string.h>及#include <stdio.h>
./configure --prefix=/usr/local --with-charset=utf-8 --with-apr=/usr/local --with-apr-util=/usr/local
make
make install# 将log4cxx动态库所在文件夹加入搜索路径
vim ~/.bashrc
添加 export LD_LIBRARY_PATH=/usr/local/lib
source ~/.bashrc
编译apr-util遇到如下问题,可能缺expat的开发库,安装expat库试试:yum install expat-devel
。
xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory#include <expat.h>
示例
配置文件log4cxx.properties
#设置rootlogger为DEBUG级别,使用了ca和fa两个Appender
log4j.rootLogger=DEBUG,ca, fa#对Appenderfa进行设置:
#这是一个文件类型的Appender,
#其输出文件(File)为./output.log,
#输出方式(Append)为覆盖方式,
#输出格式(layout)为PatternLayout
log4j.appender.fa=org.apache.log4j.FileAppender
log4j.appender.fa.File=./output.log
log4j.appender.fa.Append=false
log4j.appender.fa.layout=org.apache.log4j.PatternLayout
log4j.appender.fa.layout.ConversionPattern=%d[%t] %-5p %.16c - %m%n#对Appenderca进行设置:
#这是一个控制台类型的Appender
#输出格式(layout)为PatternLayout
log4j.appender.ca=org.apache.log4j.ConsoleAppender
log4j.appender.ca.layout=org.apache.log4j.PatternLayout
log4j.appender.ca.layout.ConversionPattern=%d[%t] %-5p %.16c - %m%n
示例代码main.cpp
#include <log4cxx/logger.h>
#include <log4cxx/logstring.h>
#include <log4cxx/propertyconfigurator.h>using namespace log4cxx;int main()
{PropertyConfigurator::configure("./log4cxx.properties");LoggerPtr rootLogger = Logger::getRootLogger();LOG4CXX_TRACE(rootLogger,"TRACE");LOG4CXX_DEBUG(rootLogger, "DEBUG");LOG4CXX_WARN(rootLogger, "WARN");LOG4CXX_ERROR(rootLogger, "ERROR");return 0;
}
编译执行
# 编译
g++ -o main main.cpp -llog4cxx
# 执行
./main
# 输出
2018-06-10 15:52:08,610[0x7f5d68bf6880] DEBUG root - DEBUG
2018-06-10 15:52:08,610[0x7f5d68bf6880] WARN root - WARN
2018-06-10 15:52:08,610[0x7f5d68bf6880] ERROR root - ERROR
C++日志系统log4cxx相关推荐
- C++日志系统log4cxx使用总结
本文主要从log4cxx级别.layout.格式化.命名规则.Filter几个方面介绍. 一.log4cxx命名规则 Logger由一个String类的名字识别,logger的名字是大小写敏感的,且名 ...
- [转]C++日志系统log4cxx使用总结
原文出处: http://blog.sina.com.cn/s/blog_a459dcf501013mr1.html 本文主要从log4cxx级别.layout.格式化.命名规则.Filter几个方面 ...
- ROS日志系统部分设置
ROS日志系统部分设置 ROS日志设置 环境变量 ROS_LOG_DIR 环境变量 ROS_HOME 环境变量 ROSCONSOLE_FORMAT环境变量 ROSCONSOLE_CONFIG_FILE ...
- linux 任务计划 权限设置,Linux系统 文件权限+计划任务+日志系统
实验目的:熟练掌握权限相关概念和具体操作 实验环境:Red Hat Enterprise Linux Server 5.3 实验步骤: 一.文件权限 二.计划任务 三.日志 一.文件权限 (一)基本权 ...
- 日志系统新贵Loki,确实比笨重的ELK轻
来自:CSDN(作者:linkt1234) 原文链接: https://blog.csdn.net/Linkthaha/article/details/100575278 最近,在对公司容器云的日志方 ...
- cx_oracle写日志信息_日志系统的设计
笔者在写作本章节的时候,并不敢把此章节的标题叫做<高性能日志系统的设计>,之所以不敢加上"高性能"三个字的原因是: 第一,我对于日志系统设计知识和经验都来自于学习和工作 ...
- 抛弃ELK!Loki日志系统详解!
背景 最近,在对公司容器云的日志方案进行设计的时候,发现主流的ELK或者EFK比较重,再加上现阶段对于ES复杂的搜索功能很多都用不上最终选择了Grafana开源的Loki日志系统,下面介绍下Loki的 ...
- 百亿级日志系统架构设计及优化
作者:杨津萍,大数据架构师,从业十余年,专攻 Web 架构及大数据架构. 来自:51cto技术栈(ID:blog51cto) " 日志数据是最常见的一种海量数据,以拥有大量用户群体的电商平台 ...
- PHP框架中的日志系统
引言 接触过php框架的朋友们可能都知道,日志在项目中的重要作用了,他可以帮助我们定位错误的位置,让程序更友好(处理得当的话不会直接抛出一大堆只有程序猿才真正动的英文),调试的时候也会很方便,还可以记 ...
最新文章
- ZooKeeper 源码和实践揭秘
- 2018-2019-2 20165315《网络攻防技术》Exp6 信息搜集与漏洞扫描
- nginx编译安装,nginx静态资源访问和负载均衡的使用!
- 满纸荒唐言,一把辛酸泪--红楼一梦
- LiveVideoStack线上交流分享 ( 一 ) —— 解密GPU:视频转码与分析加速
- 26条C++的经典语录,哪几句戳中你的心!
- spring live上有个入门的整合SSH的例子
- jQuery 文本编辑器插件 HtmlBox 使用
- 脚本录制软件python 按键精灵 tc_Keymouse Go鼠标键盘脚本录制下载|开源版按键精灵软件_最火软件站...
- 无源晶振负载电容值CL匹配方法及说明
- 自学编程的难度如何?
- ACP报名考试有学历限制吗?
- Premiere Pro之字幕添加(三)
- 关于win10主机共享打印机,其他主机连接不上的解决方法①
- 信息中心网络ICN在卫星通信中的应用调研
- 中国地区的手机号正则表达式
- 侧信道攻击:SPA / DPA
- 面试 -- 字节跳动(视频面)
- XP硬盘安装Ubuntu 10.10系统
- [文萃画材·油画]芭蕾舞女梦幻而绝美
热门文章
- background多背景
- 阿里巴巴字体图标的使用
- 某计算机采用lcd显示器 玩大型游戏,[1]. 液晶显示器(LCD)作为计算机的一种图文输出设备,已逐渐普及,下列关于液晶显示器的叙述中错误的是_______。...
- 生成式对抗网络(GAN)-(Generative Adversarial Networks)算法总结(从原始GAN到....目前)
- 【杰理AC696X】MIC能量采集的三种方式
- CAD碎片化学习教程 @3. 设置当前字体
- 中国移动互联网第一次大战盘点:360让别人不赚钱的能力很强
- Android代理模式(静态代理,动态代理,Retrofit代理模式分析)
- TCP连接,三次握手问题
- 关于Trunk封装的协议和模式。如何配置trunk