linux 下使用Log4plus库

背景

CentOS 7.9 X86-64环境

下载地址

2、 安装与配置
安装
#tar –zxvf log4cplus-1.0.4.2.tar.gz
#cd log4cplus-1.0.4.2
#configure --prefix=/usr/local/
#make
#make install //目的将文件放到/usr/local/lib/和/usr/local/include/log4cplus

这里已经安装成功,默认的路径lib库路径是/usr/local/lib/,头文件的位置:/usr/local/include/log4cplus
将/usr/local/lib下的和log4cplus相关的库都拷贝到/usr/lib
将头文件加到/etc/profile/ 设置一下环境变量

export C_INCLUDE_PATH=/path/to/your/include:$C_INCLUDE_PATH

#include <log4cplus/logger.h>
#include <log4cplus/configurator.h>
#include <iomanip>
#include <log4cplus/logger.h>
#include <log4cplus/fileappender.h>
#include <log4cplus/consoleappender.h>
#include <log4cplus/layout.h>
#include <time.h>
#include <string>
#include <string.h>
#include <stdlib.h>using namespace std;
using namespace log4cplus;
Logger pTestLogger;
void writelog(char* leval,char* info)
{struct tm *p;time_t lt=time(NULL);p=localtime(&lt);char* timetemp=ctime(&lt);*(timetemp+strlen(timetemp)-1)='\0';char temp[10000];sprintf(temp,"[%s] %s",timetemp,info);printf("temp==%s",temp);printf("leval====%s ",leval);if(memcmp(leval,"TRACE",5)==0)printf("%d===%d",memcmp("TRACE","TRAC1E",5),memcmp(leval,"TRACE",5));LOG4CPLUS_TRACE(pTestLogger,temp);if(memcmp(leval,"DEBUG",5)==0)LOG4CPLUS_DEBUG(pTestLogger,temp);if(memcmp(leval,"INFO",4)==0)LOG4CPLUS_INFO(pTestLogger,temp);if(memcmp(leval,"WARN",4)==0)LOG4CPLUS_WARN(pTestLogger,temp);if(memcmp(leval,"ERROR",5)==0)LOG4CPLUS_ERROR(pTestLogger,temp);if(memcmp(leval,"FATAL",5)==0)LOG4CPLUS_FATAL(pTestLogger,temp);
}
int main()
{char* info="you have a iuns";char filename[50];struct tm *p;time_t lt=time(NULL);p=localtime(&lt);sprintf(filename,"%d-%d-%d.txt",(1900+p->tm_year), (1+p->tm_mon),p->tm_mday);FILE* stream=fopen(filename,"wb");SharedAppenderPtr pFileAppender(new FileAppender((filename)));pTestLogger = Logger::getInstance(("LoggerName"));pTestLogger.addAppender(pFileAppender);//writelog("TRACE",info);//writelog("DEBUG",info);//writelog("ERROR",info);struct tm *p;time_t lt=time(NULL);p=localtime(&lt);char* timetemp=ctime(&lt);*(timetemp+strlen(timetemp)-1)='\0';char temp[10000];sprintf(temp,"[%s] %s",timetemp,info);LOG4CPLUS_FATAL(pTestLogger,temp);return 0;
}

https://github.com/zzlongbin/linux-Log4plus.git

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/7947.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LINUX 入门 6

LINUX 入门 6 day10 20240505 耗时&#xff1a;41min day10 20240506 耗时&#xff1a;155min 课程链接地址 第6章 DNS协议与请求 1 DNS协议分析与项目介绍 自己去看教程 快速扫了一下&#xff0c;还是结合实践去看概念有感觉 回答以下几个问题&#xff1a; dns作用dns分层…

信息安全-古典密码学简介

目录 C. D. Shannon: 一、置换密码 二、单表代替密码 ① 加法密码 ② 乘法密码 ③密钥词组代替密码 三、多表代替密码 代数密码 四、古典密码的穷举分析 1、单表代替密码分析 五、古典密码的统计分析 1、密钥词组单表代替密码的统计分析 2、英语的统计规…

【PyTorch与深度学习】5、深入剖析PyTorch DataLoader源码

课程地址 最近做实验发现自己还是基础框架上掌握得不好&#xff0c;于是开始重学一遍PyTorch框架&#xff0c;这个是课程笔记&#xff0c;此节课很详细&#xff0c;笔记记的比较粗 1. DataLoader 1.1 DataLoader类实现 1.1.1 构造函数__init__实现 构造函数有如下参数&…

vue3第二十六节(Hooks 封装注意事项)

1、什么是 Hooks Hooks 最先提出的是React&#xff0c;在 React 16 之后提出了所有以use 开头定义的函数&#xff0c;用于复杂功能编写、函数组件中状态管理共用、副作用处理而抽离的共用的单一功能可复用的函数&#xff1b; 2、Hooks 与 mixins Class 在应用中的差异 在vue…

网络安全的未来:挑战、策略与创新

引言&#xff1a; 在数字化时代&#xff0c;网络安全已成为个人和企业不可忽视的议题。随着网络攻击的日益频繁和复杂化&#xff0c;如何有效保护数据和隐私成为了一个全球性的挑战。 一、网络安全的现状与挑战 网络安全面临的挑战多种多样&#xff0c;包括但不限于恶意软件、…

学习通下载PDF资源

今天突然发现&#xff0c;学习通的pdf资源居然是没有下载入口的&#xff0c;这整的我想cv一下我的作业都搞不了&#xff0c;于是我一怒之下&#xff0c;怒了一下。 可以看到学习通的pdf资源是内嵌在网页的&#xff0c;阅读起来很不方便&#xff0c;虽然他内置了阅读器&#xf…

Liunx查找过滤

目录 一.查找 基本用法 常见条件 搭配逻辑逻辑运算符&#xff08;综合&#xff09; 1.根据文件名 2.根据文件类型 3.根据文件大小 4.根据时间 5.根据权限 基本权限格式 找到后处理的动作与处理 1. -exec 2.xargs -exec和xargs的区别 扩展查找 1.which 应用…

SpringBoot中这样用ObjectMapper

每次new一个单例化个性化配置小结 你要说他有问题吧&#xff0c;确实能正常执行&#xff1b;可你要说没问题吧&#xff0c;在追求性能的同学眼里&#xff0c;这属实算是十恶不赦的代码了。 首先&#xff0c;让我们用JMH对这段代码做一个基准测试&#xff0c;让大家对其性能有个…

蓝桥杯 试题 算法训练 找数2

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 找数2 【问题描述】在一个小到大的有序序列中&#xff08;不存在重复数字&#xff09;&#xff0c;查找某个数所在的位置。如果该数不…

使用 Kubeadm 搭建个公网 k8s 集群(单控制平面集群)

前言 YY&#xff1a;国庆的时候趁着阿里云和腾讯云的轻量级服务器做促销一不小心剁了个手&#x1f60e;&#x1f622;&#xff0c;2 Cores&#xff0c;4G RAM 还是阔以的&#xff0c;既然买了&#xff0c;那不能不用呀&#x1f6a9;&#xff0c;之前一直想着搭建个 k8s 集群玩…

【Git】Git学习-14:VSCode中使用git

学习视频链接&#xff1a;【GeekHour】一小时Git教程_哔哩哔哩_bilibili​编辑https://www.bilibili.com/video/BV1HM411377j/?vd_source95dda35ac10d1ae6785cc7006f365780 在vscode中打开文件 code . 自行修改内容&#xff0c;在源代码管理器中测试下

百度大模型文心一言api 请求错误码 一览表

错误码说明 千帆大模型平台API包含两类&#xff0c;分别为大模型能力API和大模型平台管控API&#xff0c;具体细分如下&#xff1a; 大模型能力API 对话Chat续写Completions向量Embeddings图像Images 大模型平台管控API 模型管理Prompt工程服务管理模型精调数据管理TPM&RP…

卷价格不如卷工艺降本增效狠抓模块规范化设计

俗话说&#xff0c;“卷价格不如卷工艺”&#xff0c;这意味着在追求成本控制和效率提升的过程中&#xff0c;蓝鹏的领导认为蓝鹏应该更注重工艺的优化和创新&#xff0c;而不仅仅是价格的竞争。而模块规范化设计正是实现这一目标的有效途径。 模块规范化设计可以提高生产效率…

小红书高级电商运营课,从0开始做小红书电商(18节课)

详情介绍 课程内容&#xff1a; 第1节课:学习流程以及后续实操流程注意事项,mp4 第2节课:小红书店铺类型解析以及开店细节.mp4 第3节课:小红书电商运营两种玩法之多品店铺解析,mp4 第4节课:小红书电商运营两种玩法之单品店铺解析,mp4 第5节课:选品课(多品类类目推荐).mp4 …

如何获得一个Oracle 23ai数据库(RPM安装)

准确的说&#xff0c;是Oracle 23ai Free Developer版&#xff0c;因为企业版目前只在云上&#xff08;OCI和Azure&#xff09;和ECC上提供。 方法包括3种&#xff0c;本文介绍第2种&#xff1a; Virtual ApplianceRPM安装Docker RPM安装支持Linux 8和Linux 9。由于官方的Vi…

Study--Oracle-02-单实例部署Oracle19C

一、CentOS 7 环境准备 1、软件准备 操作系统&#xff1a;CentOS 7 数据库版本: Oracle19C 2、操作系统环境配置 关闭selinux &#xff0c;编辑 /etc/selinux/config文件&#xff0c;设置SELINUX enforcing 为SELINUXdisabled [rootoracle ~]# grep SELINUX /etc/seli…

基于AbstractRoutingDataSource的mybatis动态多数据源切换

1.pom mybatis-starter版本只能选2开头的版本&#xff0c;选3开头的就报错 <!--druid连接池--> <dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.3</version> …

0基础学汽车 丝滑炫酷摄影教学,手机剪映特效剪辑(66节也就是)

详情介绍 0基础学汽车丝滑炫酷摄影教学,手机剪映特效剪辑 课程内容:0基础学汽车 丝滑炫酷摄影教学,手机剪映特效剪辑(66节也就是) - 百创网-源码交易平台_网站源码_商城源码_小程序源码 01 AE课前基础知识(必看).mp4 02 怎样制作德关一样丝滑的作品第二种方法(苹果mac专…

【busybox记录】【shell指令】paste

目录 内容来源&#xff1a; 【GUN】【paste】指令介绍 【busybox】【paste】指令介绍 【linux】【paste】指令介绍 使用示例&#xff1a; 合并文件的行 - 默认输出&#xff08;默认是行合并&#xff09; 合并文件的行 - 一个文件占一行 合并文件的行 - 使用指定的间隔符…

Python Web框架Django项目开发实战:多用户内容发布系统

注意:本文的下载教程,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。 下载教程:Python项目开发Django实战-多用户内容发布系统-编程案例解析实例详解课程教程.pdf 一、引言 在Web应用开发中,内容发布系统是一个常见的需求。这类系…