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

【日志库】—— log4cpp 部署套路

部署:

1、安装log4cpp,执行如下指令进行编译安装
log4cpp的官网是:
http://log4cpp.sourceforge.net/

wget https://nchc.dl.sourceforge.net/project/log4cpp/log4cpp-1.1.x%20%28new%29/log4cpp-1.1/log4cpp-1.1.3.tar.gz
tar xzvf log4cpp-1.1.3.tar.gz
cd log4cpp-1.1.3
./configure  
make
make install

安装完毕后,log4cpp库路径在 /usr/local/lib、头文件路径在 /usr/local/include/log4cpp

可以使用命令 mv 拷贝到自己的项目路径中去;例如,创建一个lib文件夹,将刚刚安装的log4cpp的lib库文件拷贝到此文件夹中。

头文件同理。

示例1:

#include <log4cpp/Category.hh>
#include <log4cpp/FileAppender.hh>
#include <log4cpp/PatternLayout.hh>
#include <log4cpp/OstreamAppender.hh>
#include <log4cpp/PropertyConfigurator.hh>#define LOG(__level) log4cpp::Category::getRoot() << log4cpp::Priority::__level << __FILE__ << " " << __LINE__ << ": "int main() {log4cpp::PropertyConfigurator::configure("log4cpp.conf");log4cpp::Category &root = log4cpp::Category::getRoot();root.setPriority(log4cpp::Priority::INFO);LOG(DEBUG) << "i am happy.";LOG(INFO)  << "oh, you happy, we happy.";LOG(NOTICE)<< "please do not contact me. ";LOG(WARN)  << "i am very busy now.";LOG(ERROR) << "oh, what happed?";return 0;
}
创建 test.conf:日志的配置文件
#定义Root category的属性
log4cpp.rootCategory=DEBUG, RootLog#定义RootLog属性
log4cpp.appender.RootLog=RollingFileAppender
log4cpp.appender.RootLog.layout=PatternLayout
#log4cpp.appender.RootLog.layout.ConversionPattern=%d{% m-%d %H:%M:%S %l} [%t][%p]%m%n
log4cpp.appender.RootLog.layout.ConversionPattern=%d{%m-%d %H:%M:%S %l} [%t][%p]%m%n#日志位置:自定义
log4cpp.appender.RootLog.fileName=/root/log/test/dry.log
log4cpp.appender.RootLog.maxFileSize=268435456 #256MB
log4cpp.appender.RootLog.fileNamePattern=dry_%i.log
log4cpp.appender.RootLog.maxBackupIndex=256

示例2:

#include <log4cpp/Category.hh>
#include <log4cpp/FileAppender.hh>
#include <log4cpp/PatternLayout.hh>
#include <log4cpp/OstreamAppender.hh>
#include <log4cpp/PropertyConfigurator.hh>#define LOG(__level) log4cpp::Category::getRoot() << log4cpp::Priority::__level << __FILE__ << " " << __LINE__ << ": "int main() {// 输出到std::cout 控制台//log4cpp::Appender *appender = new log4cpp::OstreamAppender("root", &std::cout);// 配置日志输出到当前目录的 log.log 日志文件中log4cpp::Appender *appender = new log4cpp::FileAppender("root", "log.log");appender->setLayout(new log4cpp::BasicLayout());log4cpp::PatternLayout *patternLayout = new log4cpp::PatternLayout();patternLayout->setConversionPattern("%d [%p] - %m%n");appender->setLayout(patternLayout);log4cpp::Category &root = log4cpp::Category::getRoot();root.setPriority(log4cpp::Priority::INFO);root.addAppender(appender);LOG(DEBUG) << "i am happy.";LOG(INFO)  << "oh, you happy, we happy.";LOG(NOTICE)<< "please do not contact me. ";LOG(WARN)  << "i am very busy now.";LOG(ERROR) << "oh, what happed?";return 0;
}

解释:

category:设置类别输出

priority:   日志优先级 --> 低于该级别的日志不会被记录

( DEBUG < INFO < NOTICE < WARN < ERROR < FATAL )

相关文章:

【日志库】—— log4cpp 部署套路

部署&#xff1a; 1、安装log4cpp&#xff0c;执行如下指令进行编译安装 log4cpp的官网是&#xff1a; http://log4cpp.sourceforge.net/ wget https://nchc.dl.sourceforge.net/project/log4cpp/log4cpp-1.1.x%20%28new%29/log4cpp-1.1/log4cpp-1.1.3.tar.gz tar xzvf log4cpp…...

使用Gitee Go流水线部署个人项目到服务器指南

使用Gitee Go流水线部署个人项目到服务器指南 前言&#xff01;&#xff01;&#xff01; 本文解决的问题&#xff1a; 你有一台ECS服务器&#xff0c;你在上面部署了一个Java服务也就是一个jar&#xff0c;你觉着你每次手动本地打包&#xff0c;上传&#xff0c;在通过命令去…...

BlockChain.java

BlockChain 区块链&#xff0c;举个栗子 注意啦&#xff0c;列子里面的hashcode相等&#xff0c;但是字符串是不一样的哦&#xff0c;之前有记录这个问题 String.hashCode()-CSDN博客...

SystemVerilog 数据类型

1、内建数据类型 verilog有两种基本的数据类型&#xff1a;变量和线网&#xff0c;他们各自都可以有四种取值&#xff1a;0 1 z x&#xff1b; RTL代码使用 变量 来存放组合和时序值&#xff1b;变量可以是单bit或者是多bit的无符号数 reg [7:0] m&#xff0c; 32bit的有符号…...

【技术简析】触觉智能RK3506 Linux星闪网关开发板:重新定义工业物联新标杆

在工业智能化与物联网深度融合的今天&#xff0c;深圳触觉智能推出首款搭载瑞芯微RK3506芯片的Linux星闪网关开发板&#xff0c;为大家技术解析。 RK3506-国产芯的硬核实力 作为瑞芯微2024年第四季度推出的入门级工业芯片平台&#xff0c;RK3506以三核Cortex-A7&#xff08;1.…...

YOLO-UniOW: 高效通用开放世界目标检测模型【附论文与源码】

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…...

面向对象(进阶)(‘封装‘,‘多态‘,‘对象属性‘,‘类属性‘,‘类方法‘,‘对象方法‘及其应用场景)

‘封装’,多态’及其应用场景 一, 封装及其应用场景 封装的定义 属于面向对象的三大特征之一, 就是隐藏对象的属性和现实细节, 仅对外提供公共的访问方式.(我们学的 函数, 类, 都是封装的体现). 封装的格式 __属性名 __属性名()封装的好处和弊端 好处 提高代码的安全性.…...

django如何配置使用asgi

以下是 Django 配置使用 ASGI 的完整指南&#xff1a; 一、配置前提 Django 版本&#xff1a;确保使用 Django 3.0&#xff08;原生支持 ASGI&#xff09;必要依赖&#xff1a;pip install daphne channels二、基础配置步骤 1. 创建/修改 ASGI 入口文件 在 Django 项目根目录…...

MongoDB 只能存储能够序列化的数据(比如字符串、数字等),而 Python 的 UUID 对象并不是直接可以存入数据库的格式。

1. UUID 对象是什么&#xff1f; UUID 是 “Universally Unique Identifier”&#xff08;通用唯一识别码&#xff09;的缩写&#xff0c;是一种 128 位的数字&#xff0c;用于在全局范围内生成一个唯一的标识符。它常用于数据库中的记录标识、分布式系统中的对象标识等场景。…...

分页优化之——游标分页

游标分页&#xff08;Cursor-based Pagination&#xff09; 是一种高效的分页方式&#xff0c;特别适用于大数据集和无限滚动的场景。与传统的基于页码的分页&#xff08;如 page1&size10&#xff09;不同&#xff0c;游标分页通过一个唯一的游标&#xff08;通常是时间戳或…...

算法模型从入门到起飞系列——广度优先遍历(BFS)

文章目录 前言一、广度优先遍历&#xff08;BFS&#xff09;简介1.1 广度优先遍历&#xff08;BFS&#xff09;的特点1.2 广度优先遍历&#xff08;BFS&#xff09;的要素 二、广度优先遍历&#xff08;BFS&#xff09;& 深度优先遍历&#xff08;DFS&#xff09;2.1 广度优…...

AsyncHttpClient使用说明书

[[toc]] AsyncHttpClient(AHC)是一个高性能、异步的 HTTP 客户端库,广泛用于 Java 和 Scala 应用中,特别适合处理高并发、非阻塞的 HTTP 请求。它基于 Netty 或 Java 原生的异步 HTTP 客户端实现,支持 HTTP/1.1 和 HTTP/2 协议,适用于微服务、API 调用、爬虫等场景。 1.…...

FRP在远程办公中的实战应用

远程办公场景中&#xff0c;FRP可穿透企业防火墙&#xff0c;安全访问内网资源。以下是典型用例&#xff1a; SSH远程连接 配置示例&#xff1a; 客户端配置SSH映射&#xff0c;将本地22端口映射至公网服务器的6000端口&#xff0c;用户通过ssh -p 6000 user公网IP即可连接内网…...

git 设置保存密码 git保存密码

目录 长久保存密码 长久保存密码 git push和git pull都能使用。 git config --global credential.helper store 然后执行一次 git pull&#xff0c;Git 会提示输入用户名和密码&#xff0c; 输入后保存路径&#xff1a; ~/.git-credentials &#xff0c; Windows系统&…...

<项目> 主从Reactor模型的高并发服务器

目录 Reactor 概念 分类 单Reactor单线程 单Reactor多线程 多Reactor多线程 项目介绍 项目规划 模块关系 实现 TimerWheel -- 时间轮定时器 定时器系统调用 时间轮设计 通用类型Any Buffer Socket Channel Poller EventLoop&#xff08;核心&#xff09; eventfd 设计思路 …...

注意力机制,本质上是在做什么?

本文以自注意机制为例&#xff0c;输入一个4*4的矩阵 如下&#xff1a; input_datatorch.tensor([[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16] ],dtypetorch.float) 得到Q和K的转置如下。 此时&#xff0c;计算QK^T ,得到如下结果 第一行第一个位置就是第一条样本和第…...

使用Python在Word中创建、读取和删除列表 - 详解

目录 工具与设置 Python在Word中创建列表 使用默认样式创建有序&#xff08;编号&#xff09;列表 使用默认样式创建无序&#xff08;项目符号&#xff09;列表 创建多级列表 使用自定义样式创建列表 Python读取Word中的列表 Python从Word中删除列表 在Word中&#xff…...

右键添加:新建HTML模板文件

使用注册表给Windows右键添加:新建HTML文档模板的功能_注册表右键新建-CSDN博客 新建文件有了&#xff0c;但是没有引用模板文件&#xff0c;是空文件。 默认改成 htmlfile 模板成功...

Windows10配置OpenJDK11

下载 # 华为OpenJDK镜像源 https://mirrors.huaweicloud.com/openjdk/11.0.2/解压 # 解压后至于C:\Dev\Env\Java\jdk-11.0.2目录下 https://mirrors.huaweicloud.com/openjdk/11.0.2/openjdk-11.0.2_windows-x64_bin.zip编译安装 # 以管理员身份运行 CMD命令提示符 并进入JD…...

浅谈Go垃圾回收机制-面试笔记

Go 语言的垃圾回收机制&#xff08;Garbage Collection&#xff0c;GC&#xff09;是其内存管理的重要组成部分&#xff0c;以下是相关介绍&#xff1a; 1、基本原理 标记 - 清除算法&#xff1a;Go 语言的垃圾回收主要基于三色标记 - 并发清除算法。首先&#xff0c;从根对象…...

统一开放世界与开放词汇检测:YOLO-UniOW无需增量学习的高效通用开放世界目标检测框架

目录 一、摘要 二、引言 三、相关工作 开放词汇对象检测 开放世界目标检测 参数高效学习 四、高效通用的开放世界目标检测 问题定义 高效的自适应决策学习 开放世界通配符学习 五、Coovally AI模型训练与应用平台 六、实验 数据集 评价指标 实施细节 定量结果 …...

如何给商品一键换色?图生生AI,告别繁琐修图

在电商竞争日益激烈的今天&#xff0c;商品图片的视觉效果直接影响着消费者的购买决策。而商品颜色的展示&#xff0c;更是重中之重&#xff01;传统的图片换色方式&#xff0c;往往需要耗费设计师大量的时间和精力&#xff0c;从抠图到调色&#xff0c;再到细节调整&#xff0…...

AIGC-名人语录账号运营创作智能体完整指令(DeepSeek,豆包,千问,Kimi,GPT)

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列AIGC(GPT、DeepSeek、豆包、千问、Kimi)...

基于MySQL的创建Java实体Bean和TypeScript实体Bean

基于MySQL的创建Java实体Bean和TypeScript实体Bean 基于MySQL的创建Java实体Bean和TypeScript实体Bean select ORDINAL_POSITION as a, -- Data -- Schema(description "货物管理表") -- TableName("lpg_cargo") -- public class CargoEntity implements…...

10-STL、位运算、常用函数库

1-STL vector vector是变长数组 //定义vector vector<int>a;//第一维长233&#xff0c;第二维长度动态变化 vector<int>b[233];//自定义的结构体类型也可以保存在vector中 struct res{...}; vector<rec>c;//函数 a.size();//返回vector的实际长度&#xf…...

练习-班级活动(map存储键值对)

问题描述 小明的老师准备组织一次班级活动。班上一共有 n 名 (n 为偶数) 同学&#xff0c;老师想把所有的同学进行分组&#xff0c;每两名同学一组。为了公平&#xff0c;老师给每名同学随机分配了一个 n 以内的正整数作为 id&#xff0c;第 i 名同学的 id 为 ai​。 老师希望…...

纯血鸿蒙:中国操作系统自主创新的里程碑

引言&#xff1a;破局者登场 2024 年 10 月&#xff0c;搭载纯血鸿蒙操作系统&#xff08;HarmonyOS NEXT&#xff09;的华为 Mate 70 系列正式发布&#xff0c;首日预约量突破 330 万。这场现象级热度的背后&#xff0c;不仅是消费者对硬件创新的期待&#xff0c;更是中国科技…...

OpenHarmony 开源鸿蒙北向开发——hdc工具安装

hdc&#xff08;OpenHarmony Device Connector&#xff09;是为开发人员提供的用于设备连接调试的命令行工具&#xff0c;该工具需支持部署在 Windows/Linux/Mac 等系统上与 OpenHarmony 设备&#xff08;或模拟器&#xff09;进行连接调试通信。简单来讲&#xff0c;hdc 是 Op…...

buu-bjdctf_2020_babystack2-好久不见51

整数溢出漏洞 将nbytes设置为-1就会回绕&#xff0c;变成超大整数 从而实现栈溢出漏洞 环境有问题 from pwn import *# 连接到远程服务器 p remote("node5.buuoj.cn", 28526)# 定义后门地址 backdoor 0x400726# 发送初始输入 p.sendlineafter(b"your name…...

YOLO魔改之SAM空间注意力模块

基于SAM注意力的YOLOv7改进算法详解(可用于工业检测方案) 一、应用场景说明 本改进算法适用于以下工业检测场景: ​复杂背景下的微小目标检测​(电子元件缺陷、PCB板焊点)​密集目标重叠检测​(传送带上的包裹分拣、人群计数)​动态环境目标追踪​(无人机巡检、自动驾…...