前言

本文的操作均在ubuntu20.04下进行

安装

本文仅介绍从源码编译安装log4cpp的过程。

①在开始编译前,首先要确保系统中安装了g++makeautoconflibtool

②下载log4cpp源码

下载log4cpp的特定版本并解压,以1.1.3为例:

wget http://sourceforge.net/projects/log4cpp/files/log4cpp-1.1.3.tar.gz
tar -xvzf log4cpp-1.1.3.tar.gz

③编译和安装

进入log4cpp目录,使用autoconf来配置项目并编译安装:

cd log4cpp
# 默认安装
./configure
# 或指定安装路径
# ./configure --prefix=/path/to/file
make
make install

④查看头文件和库文件

默认配置安装的log4cpp,其头文件位于/usr/local/include/log4cpp/,库文件位于/usr/local/lib/



使用

示例代码

#include <string>
#include <iomanip>
#include "log4cpp/PropertyConfigurator.hh"
#include "log4cpp/Category.hh" int main()
{
try
{
log4cpp::PropertyConfigurator::configure("./cfg/log4cfg");
}
catch (log4cpp::ConfigureFailure& f)
{
std::cerr << "configure problem " << f.what() << std::endl; }
log4cpp::Category & log = log4cpp::Category::getRoot(); std::string s = __FILE__;
s += " : ";
std::ostringstream line;
line << std::setw(4) << std::setfill('0') << __LINE__;
s += line.str();
s += " : ";
std::ostringstream buf;
buf<< "test message"; ;
s += buf.str(); log.info(s);
}

配置文件

#顶级父元素配置
log4cpp.rootCategory=INFO,console,file
#文件输出配置
log4cpp.appender.file=RollingFileAppender #滚动文件
log4cpp.appender.file.fileName=./log/data.log #文件名称
log4cpp.appender.file.maxFileSize=524288000 #单个文件大小
log4cpp.appender.file.maxBackupIndex=10 #文件保存数量
log4cpp.appender.file.backupPattern=%Y-%m-%d
log4cpp.appender.file.layout=PatternLayout #layout格式
log4cpp.appender.file.layout.ConversionPattern=[%d{%Y-%m-%d %H:%M:%S,%l}](%p)<%t>%c %x: %m%n #输出格式 #控制台输出配置
log4cpp.appender.console=ConsoleAppender
log4cpp.appender.console.layout=PatternLayout
log4cpp.appender.console.layout.ConversionPattern=[%d{%Y-%m-%d %H:%M:%S,%l}](%p)<%t>%c %x: %m%n

编译链接

具体操作略

注意链接时要加上-llog4cpp -lpthread

输出

输出结果:

log4cpp的安装及使用的更多相关文章

  1. log4cpp安装使用

    1. 主页:http://log4cpp.sourceforge.net“Log4cpp is library of C++ classes for flexible logging to files ...

  2. GNU Radio安装教程: Ubuntu14.04 + uhd3.10.0 + gnuradio3.7.10.1

    1. 更新和安装依赖项 在编译安装uhd和gnuradio之前,确保已安装所需依赖项.Ubuntu系统运行: sudo apt-get update 安装UHD和GNURadio所需依赖项: On U ...

  3. log4cpp安装

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  4. 一步步入门log4cpp

    前言 项目实现过程中,需要检查.查找或者调试程序bug等,此时程序日志则较为清晰地展现代码的运行过程.目前接触到的方法有打印消息到控制台,将重要信息输出到某个文件比如txt文件,或者直接使用日志库. ...

  5. QT应用程序 安装路径中文异常问题

    [1]QT 安装中文路径启动异常问题 最近在搞一个很简单的QT应用程序,开发环境VS2017 + QT5.9,线上异常报错:安装中文路径下启动崩溃~~~~ 最后,本地调试Debug版本,发现安装中文路 ...

  6. C++之log4cpp库的使用

    log4..简介 log4..是基于log4j的一系列的c++移植版本,使用了log4j的模式结构,目前主要有以下几个版本: 1. log4cxx, 目前是到0.10.0版,Apache下的孵化项目, ...

  7. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  8. 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法

    如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...

  9. Sublime Text3安装JsHint

    介绍 Sublime Text3使用jshint依赖Nodejs,SublimeLinter和Sublimelinter-jshint. NodeJs的安装省略. 安装SublimeLinter Su ...

  10. Fabio 安装和简单使用

    Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...

随机推荐

  1. pod(二):创建包含多个容器的pod(sidecar)

    目录 一.系统环境 二.前言 三.创建包含多个容器的pod 3.1 环境介绍 3.2 在一个pod里创建多个容器 一.系统环境 服务器版本 docker软件版本 CPU架构 CentOS Linux ...

  2. 创建Django项目和应用

    1.创建Django项目 django-admin startproject 项目名称 2.创建应用app python manage.py startapp app名称

  3. Dump Rtmp Audio Stream To AAC Formate File (从Rtmp流提取并保存AAC音频文件)

    一.准备工作 参考:https://www.cnblogs.com/doudouyoutang/p/10220599.html 搭建本地rtmp服务: https://www.cnblogs.com/ ...

  4. js 求任意两数之间的和

    知识点:函数的传参,函数的返回值 函数的传参 函数的参数包括以下两种类型: 1.形参:在定义函数时,声明的参数变量仅在函数内部可见: 2.实参:在调用函数时,实际传入的值. 示例 我们在定义函数的时候 ...

  5. 「C++」深度分析C++中i++与++i的区别

    大家好,我是Charzie.在C++编程中,i++和++i是两个常见的自增运算符,用于将变量的值增加1(有时与i+=1效果一样).然而,虽然它们的功能看似相似,但在实际使用中却存在显著的区别.本博客将 ...

  6. MySQL 导出一条数据的插入语句

    1.MySQL 导出一条数据的插入语句的方法 在MySQL中,如果我们想要导出一条数据的插入语句,我们可以使用SELECT ... INTO OUTFILE语句(但这通常用于将整个表或查询结果导出到一 ...

  7. docker使用Open Policy Agent(OPA)进行访问控制

    目录 一.系统环境 二.前言 三.Open Policy Agent 简介 四.Rego 语言简介 五.配置基本环境 六.docker安装OPA插件 6.1 安装docker 6.2 docker安装 ...

  8. YNOI 做题记

    YNOI 做题记 偶然有一天做到了其中的一道题,于是便开始做相关的题了-- [Ynoi2015] 我回来了 - 洛谷 这之一场联考搬过来的题--于是考场上写了一个 \(O((n + m)\log^2 ...

  9. 使用优启通 制作 WIN PE U盘时报BOOT.WIM 有毒的解决方法

    使用优启通 制作 WIN PE U盘时报BOOT.WIM 有毒的解决方法 1.打开"Windows Defender". 2.点击"病毒和威胁防护". 3.点击 ...

  10. sql去重常用的基本方法

    1.存在两条完全相同的纪录 select distinct * from table(表名) where (条件)   2.存在部分字段相同的纪录(有主键id即唯一键) 如果是这种情况的话用disti ...