linux 下使用Log4plus库

server/2024/10/18 18:13:27/

背景

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.ppmy.cn/server/38020.html

相关文章

数学建模资料|历年数维杯数学建模竞赛真题及获奖论文汇总

2024年第九届数维杯大学生数学建模挑战赛:2024年5月10日08:00-5月13日09:00举行,为了更好的帮助参赛同学了解竞赛的赛制及赛题特点,数乐君今天给大家整理了历年数维杯国赛真题及优秀论文,方便同学们赛前巩固训练,掌握解题方法,提高获奖率。 2023年数维杯国赛真题(ABC题…

flutter开发实战-GetX响应式状态管理使用

flutter开发实战-GetX响应式状态管理使用 GetX是一个简单的响应式状态管理解决方案。GetX是Flutter的一款超轻、功能强大的解决方案。它将高性能状态管理、智能依赖注入和路由管理快速而实用地结合在一起。这里简单使用一下GetX 一、引入GetX 在工程的pubspec.yaml中引入插件…

什么企业需要首席数据官CCRC-CDO?

随着信息化和人工智能技术的高速发展&#xff0c;企业对数据的需求和重视度越来越高。数据不仅仅是企业的生存之本&#xff0c;更是企业发展的核心驱动力。需要首席数据官的企业主要包括&#xff1a; 1. 大型企业和跨国公司&#xff1a;这些企业通常拥有大量的数据&#xff0c;…

概念解析 | 威胁建模与DREAD评估:构建安全的系统防线

注1:本文系"概念解析"系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:威胁建模和DREAD模型 概念解析 | 威胁建模与DREAD评估:构建安全的系统防线 What Is Threat Modeling? Definition, Process, Examples, and Best Practices - Spic…

redisson 使用脚本实现判断元素不在队列中则插入的原子操作

脚本逻辑&#xff1a; 取出队列所有元素遍历元素查找值是否存在不存在则推入 final String scriptText """local valuesInTarget redis.call(lrange, KEYS[1], 0, -1);local index 0;for i, v in ipairs(valuesInTarget) doif v value thenindex ibreake…

mysql相关知识点

1、将时间格式化为字符串 SELECT DATE_FORMAT(NOW(), %Y-%m-%d %H:%i:%s) 2、获取当前时间&#xff08;年、月、日、时、分、秒&#xff09; SELECT NOW() 或者 SELECT CURRENT_TIMESTAMP() ; 3、获取当前时间&#xff0c;精确到毫秒 SELECT NOW(3) 或者 SELECT CURRENT_…

Stable Diffusion Ai绘画模型推荐:二次元Coriander_Mix v1大模型推荐

负tag嵌入式:EasyNegative,badhandv4 此模型经测试是写实偏3D的效果 画质灰暗的话请加&#xff1a;VAE840000 或者负tag&#xff1a;(watermark:2),(blurry:2),fat,paintings,sketches,(worst quality:2),(low quality:2),(normal quality:2),((monochrome)), ((grayscale))…

Star15.3k,开源数据可视化分析工具项目

好东西来了&#xff0c;这是一个人人可用的开源数据可视化分析工具项目&#xff0c;V 哥迫不及待的要给大家推荐这个项目&#xff0c;帆软、Tableau 等商业 BI 工具的开源替代&#xff0c;已在 Github 上被 Star了15.3k了&#xff0c;大家一起来了解一下。自己搭建起来可用&…