欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

linux下的log4cplus的安装和使用

log4cplus是一款优秀的基于C/C++的开源日志库。log4cplus具有线程安全,不用但心在多线程状态下写日志问题;使用灵活,可通过配置文件设置日志级别下输出位置,还可以在程序运行时动态设置日志输出级别,随心所欲掌控日志的输出;以及多粒度控制的特点。通过将信息划分优先级使其可以面向程序调试、运行、测试、和维护等全生命周期; 可以选择将信息输出到屏幕、文件、NT event log、甚至是远程服务器;通过指定策略对日志进行定期备份。可以满足大部分开发者对日志系统需求,功能全面。
下载地址:http://sourceforge.net/projects/log4cplus/files/log4cplus-stable/
tar -xjf log4cplus-1.0.4.tar.bz2(解压缩),切换到解压缩路径下
安装:./configure;make;make install
这里已经安装成功,默认的路径lib库路径是/usr/local/lib/,头文件的位置:/usr/local/include/log4cplus
将/usr/local/lib下的和log4cplus相关的库都拷贝到/usr/lib,将头文件加到/etc/profile下的CPLUS_INCLUDE_PATH

这里要强调是使用log4cplus时,要 加上-llog4cplus -lrt -lpthread -lrt(或者 -llog4cplus -lpthread ),才能顺利的编译通过和使用;

 

 

确保你的Makefile中包含 /usr/local/lib/liblog4cplus.a(静态库)或-llog4cplus(动态库)即可。

头文件在/usr/local/include/log4cplus目录下。

对于动态库,要想正常使用,还得将库安装路径加入到 LD_LIBRARY_PATH 中,以管理员身份登录,在/etc/ld.so.conf中加入安装路径,这里是/usr/local/lib,然后执行 ldconfig使设置生效即可。

 

在其log4cplus官网http://log4cplus.sourceforge.net/codeexamples.html 里面自带的三个例程。

 

 

 

2、  安装与配置
安装
#tar –jxvf  log4cplus-1.0.4-rc4.tar.bz2*.tar.bz2
#cd log4cplus-1.0.4-rc4
#configure --prefix=/usr/local/
#make
#make install
配置
#ewindowsxport LD_LIBRARY_PATH=/usr/local/log4cplus/lib/
3、  使用案例
log4cplus库编写了5个等级的信息:DEBUG、INFO、WARNING、ERROR与FATAL。
Ø         日志内容形式为:DEBUG   Enter the main function
Ø         并且对日志文件名没有进行规定。
本文的案例对log4提供的日志函数进行了封装,最终增加的功能如下:
Ø         日志文件名形式:2009-10-10.txt
Ø         日志内容形式:DEBUG  [2009-10-10 10:12:34]  Enter the main function
Ø         自定义写日志接口函数形式:writelog("TRACE",” Enter the main function”);
 
#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>
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);
        return 0;
}
 
编译命令:
 
#g++ filetime.cpp -I /usr/local/log4cplus/include/ -L /usr/local/log4cplus/lib -llog4cplus -o filetime


来自 https://www.cnblogs.com/rosesmall/archive/2012/05/07/2487445.html

linux下安装log4cplus


wget http://sourceforge.net/projects/log4cplus/files/log4cplus-stable/1.1.2/
log4cplus-x.x.x.tar.gz
tar xvzf log4cplus-x.x.x.tar.gz
cd log4cplus-x.x.x
./configure --prefix=/usr/local
make
sudo make install
ldconfig                 (新库安装后,刷新ld cache,以使程序在runtime链接得到所需的新库)

确保你的项目Makefile中包含 /usr/local/lib/liblog4cplus.a(静态库)或  -llog4cplus(动态库)即可,头文件在/usr/local/include/log4cplus目录下。
 CodeExample: http://sourceforge.net/p/log4cplus/wiki/CodeExamples/

PatterLayout支持的转换标识符主要包括:
(1)"%%",转义为%, 即,std::string pattern = "%%" 时输出"%"。
(2)"%c",输出logger名称,比如std::string pattern ="%c" 时输出: "test_logger.subtest",     也可以控制logger名称的显示层次,比如"%c{1}"时输出"test_logger",其中数字表示层次。
(3)"%D",显示本地时间,当std::string pattern ="%D" 时输出:"2004-10-16 18:55:45",%d显示标准时间,所以当std::string pattern ="%d" 时输出 "2004-10-16 10:55:45" (因为北京时间位于东8区,差8个小时)。
     可以通过%d{...}定义更详细的显示格式,比如%d{%H:%M:%s}表示要显示小时:分钟:秒。大括号中可显示的预定义标识符如下: 
%a -- 表示礼拜几,英文缩写形式,比如"Fri"
%A -- 表示礼拜几,比如"Friday"
%b -- 表示几月份,英文缩写形式,比如"Oct"
%B -- 表示几月份,"October"
%c -- 标准的日期+时间格式,如 "Sat Oct 16 18:56:19 2004"
%d -- 表示今天是这个月的几号(1-31)"16"
%H -- 表示当前时刻是几时(0-23),如 "18"
%I -- 表示当前时刻是几时(1-12),如 "6"
%j -- 表示今天是哪一天(1-366),如 "290"
%m -- 表示本月是哪一月(1-12),如 "10"
%M -- 表示当前时刻是哪一分钟(0-59),如 "59"
%p -- 表示现在是上午还是下午, AM or PM
%q -- 表示当前时刻中毫秒部分(0-999),如 "237"
%Q -- 表示当前时刻中带小数的毫秒部分(0-999.999),如 "430.732"
%S -- 表示当前时刻的多少秒(0-59),如 "32"
%U -- 表示本周是今年的第几个礼拜,以周日为第一天开始计算(0-53),如 "41"
%w -- 表示礼拜几,(0-6, 礼拜天为0),如 "6"
%W -- 表示本周是今年的第几个礼拜,以周一为第一天开始计算(0-53),如 "41"
%x -- 标准的日期格式,如 "10/16/04"
%X -- 标准的时间格式,如 "19:02:34"
%y -- 两位数的年份(0-99),如 "04"
%Y -- 四位数的年份,如 "2004"
%Z -- 时区名,比如 "GMT"
(4)"%F",输出当前记录器所在的文件名称,比如std::string pattern ="%F" 时输出: "main.cpp"。
(5)"%L",输出当前记录器所在的文件行号,比如std::string pattern ="%L" 时输出: "51"
(6)"%l",输出当前记录器所在的文件名称和行号,比如std::string pattern ="%L" 时输出"main.cpp:51"。
(7)"%m",输出原始信息,比如std::string pattern ="%m" 时输出: "teststr",即上述代码中LOG4CPLUS_DEBUG的第二个参数,这种实现机制可以确保原始信息被嵌入到带格式的信息中。
(8)"%n",换行符,没什么好解释的。
(9)"%p",输出LogLevel,比如std::string pattern ="%p" 时输出: "DEBUG"。
(10)"%t",输出记录器所在的线程ID,比如std::string pattern ="%t" 时输出: "1075298944"。
(11)"%x",嵌套诊断上下文NDC (nested diagnostic context) 输出,从堆栈中弹出上下文信息,NDC可以用对不同源的log信息(同时地)交叉输出进行区分,关于NDC方面的详细介绍会在下文中提到。
(12)格式对齐,比如std::string pattern ="%-10m"时表示左对齐,宽度是10,此时会输出"teststr   ",当然其它的控制字符也可以相同的方式来使用,比如"%-12d","%-5p"等等。


来自 https://www.cnblogs.com/edgarli/archive/2013/10/15/3370902.html



log4cplus的安装与使用初步

1. 简介
log4cplus是C++编写的开源的日志系统,The purpose of this project is to port the excellentLog for Java (log4j)logging library to C++
log4cplus具有灵活、强大、使用简单、多线程安全的特点,实在是杂牌军、游击队的福音。

2. 安装使用(Linux)
log4cplus安装使用非常简单,从其官网:http://log4cplus.sourceforge.net/ 下载最新版本
运行:
tar xvzf log4cplus-x.x.x.tar.gz
cd log4cplus-x.x.x
./configure --prefix=/where/to/install
make
make install
在安装目录下生成include和lib两个文件夹,分别为头文件和库文件
使用:
g++ -o server   /mnt/hgfs/work_vm/project/work_project/server/obj/main.o   -L../..//third/log4cplus/lib/ -L../..//third/boost/lib/-llog4cplus -lpthread -I/mnt/hgfs/work_vm/project/work_project/server/include -I../..//third/log4cplus/include/-I../..//third/boost/include/
编译参数:
-L../..//third/log4cplus/lib/
-llog4cplus 
-lpthread
-I../..//third/log4cplus/include/

3. 使用
log4cplus主要包括layout、appender、loglevel等内容,可以参考:
http://masterdog.bokee.com/153892.html
写的非常nice

4. 包装
logcplus包装下用起来非常方便,以下是我的包装,供参考
Log.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// Log.h: interface for the Log class.
//
//////////////////////////////////////////////////////////////////////
 
#if !defined(AFX_LOG_H__B87F71E3_FFAE_4CFA_A528_3F4F2FF7D69E__INCLUDED_)
#define AFX_LOG_H__B87F71E3_FFAE_4CFA_A528_3F4F2FF7D69E__INCLUDED_
 
#include "log4cplus/loglevel.h"
#include "log4cplus/ndc.h"
#include "log4cplus/logger.h"
#include "log4cplus/configurator.h"
#include "iomanip"
#include "log4cplus/fileappender.h"
#include "log4cplus/layout.h"
 
#include "const.h"
#include "common.h"
#include "Main_config.h"
 
using namespace  log4cplus;
using namespace  log4cplus::helpers;
 
//日志封装
#define TRACE(p) LOG4CPLUS_TRACE(Log::_logger, p)
#define DEBUG(p) LOG4CPLUS_DEBUG(Log::_logger, p)
#define NOTICE(p) LOG4CPLUS_INFO(Log::_logger, p)
#define WARNING(p) LOG4CPLUS_WARN(Log::_logger, p)
#define FATAL(p) LOG4CPLUS_ERROR(Log::_logger, p)
 
// 日志控制类,全局共用一个日志
class Log
{
public:
    // 打开日志
    bool open_log();
 
    // 获得日志实例
    static Log& instance();
     
    static Logger _logger;
 
private:
    Log();
 
    virtual ~Log();
 
    //log文件路径及名称
    char _log_path[PATH_SIZE];
    char _log_name[PATH_SIZE];
};
 
#endif // !defined(AFX_LOG_H__B87F71E3_FFAE_4CFA_A528_3F4F2FF7D69E__INCLUDED_)
Log.cpp:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// Log.cpp: implementation of the Log class.
//
//////////////////////////////////////////////////////////////////////
 
#include "Log.h"
 
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
 
Logger Log::_logger = log4cplus::Logger::getInstance("main_log");
 
Log::Log()
{
    snprintf(_log_path, sizeof(_log_path), "%s""../log");
    snprintf(_log_name, sizeof(_log_name), "%s/%s.%s", _log_path, execname, "log");
}
 
Log::~Log()
{
}
 
Log& Log::instance()
{
    static Log log;
    return log;
}
 
bool Log::open_log()
{
     
    int Log_level = Main_config::instance().get_config().Read("LOG_LEVEL", 0); 
 
    /* step 1: Instantiate an appender object */
    SharedAppenderPtr _append(new FileAppender(_log_name));
    _append->setName("file log test");
 
    /* step 2: Instantiate a layout object */
    std::string pattern = "[%p] [%d{%m/%d/%y %H:%M:%S}] [%t] - %m %n";
    std::auto_ptr<Layout> _layout(new PatternLayout(pattern));
 
    /* step 3: Attach the layout object to the appender */
    _append->setLayout(_layout);
 
    /* step 4: Instantiate a logger object */
 
    /* step 5: Attach the appender object to the logger  */
    Log::_logger.addAppender(_append);
 
    /* step 6: Set a priority for the logger  */
    Log::_logger.setLogLevel(Log_level);
 
    return true;
}
int Log_level = Main_config::instance().get_config().Read("LOG_LEVEL", 0); 

Main_config是我自己包装的一个配置类(参考:http://blog.csdn.net/yfkiss/article/details/6802451),通过读取配置设置log level。

使用:
#inlucde "Log.h"
程序初始化的时候:
    // 打开日志
    if (!Log::instance().open_log())
    {
        std::cout << "Log::open_log() failed" << std::endl;
        return false;
    }
然后使用NOTICE、FATAL等就可以打印日志到文件。
1
2
3
4
5
6
7
8
9
10
11
#include "Log.h"
....
    // 打开日志
    if (!Log::instance().open_log())
    {
        std::cout << "Log::open_log() failed"  << std::endl;
        return false;
    }
.....
NOTICE("Server init succ");
FATAL("Server run failed");
转自:http://blog.csdn.net/yfkiss/article/details/6802422

来自 https://blog.csdn.net/nyist327/article/details/40511563


Log4Cplus在Linux下的安装及使用

        在做服务器程序的过程中我想最有用的调试手段应该是日志系统了,好的日志能够直观快速的定位程序的问题,如系统崩溃,死锁,错误的异常抛出等。如何选择一个好的日志库对程序员来说至关重要。设计简陋粗糙的日志系统,可能会到导致系统的性能随着日志的增加而线性的降低,还可能导致线程安全型等问题,我在项目中用到了log4cplus这个日志库,log4cplus是C++编写的开源的日志系统,功能非常全面,用到自己开发的工程中会比较专业的。log4cplus是C++编写的开源的日志系统,前身是java编写的log4j系统.受Apache Software License保护。作者是Tad E. Smith。log4cplus具有线程安全、灵活、以及多粒度控制的特点,通过将信息划分优先级使其可以面向程序调试、运行、测试、和维护等全生命周期; 你可以选择将信息输出到屏幕、文件、NT event log、甚至是远程服务器;通过指定策略对日志进行定期备份等等。

Log4cplus在Linux下的安装:

1.      配置  ./ configure--prefix=/usr

2.      编译  make

3.      安装  make intsall

--prefix 是指定安装目录,Linux默认会从/usr/include下寻找头文件,在/usr/lib目录寻找库文件。

   Log4cplus移植到ARM:

   首先你需要安装并导出一个交叉编译环境,然后查看你的交叉编译环境默认的库的安装目录,在终端输入命令:echo 'main(){}'|arm-none-linux-gnueabi-gcc -E -v –

查看默认的安装目录。

1.    配置sudo ./configure --prefix=yourinstall path  --host=arm-linux

2.    修改Makefile将Makefile中的所有的与编译相关的编译链工具都改成交叉编译工具,这其中包括:ar ,as ,ld ,gcc ,g++,rannlib

3.    编译 make

4.    安装 make install

 

Log4Cplus的使用基本步骤:

1.      实现了一个封装了输出介质的appender对象

2.      实例化一个封装了输出格式的Layout对象

3.      将Layout对象绑定(attach)到appender

4.      获得Logger对象

5.      将append绑定到Logger

6.      设置Logger的日志等级

7.      打印日志

例子程序:


  1. #include <iostream>
  2. #include <log4cplus/logger.h>
  3. #include <log4cplus/loggingmacros.h>
  4. #include <log4cplus/configurator.h>
  5. #include <iomanip>
  6. #include <log4cplus/logger.h>
  7. #include <log4cplus/fileappender.h>
  8. #include <log4cplus/consoleappender.h>
  9. #include <log4cplus/layout.h>
  10. #include <time.h>
  11. #include <stdio.h>
  12. #include <stdlib.h>
  13. #include <string.h>
  14. using namespace std;
  15. using namespace log4cplus;
  16. using namespace std;
  17. int main()
  18. {
  19. SharedAppenderPtr appendPtr(new RollingFileAppender("log_text.txt",1*1024*1024,1,true));
  20. Logger logger = Logger::getInstance("test");
  21. std::string pattern = "%p-%d{%y/%m/%d %H:%M:%S-%Q}{ThreadID:%t} ->%m\r\n";
  22. std::auto_ptr<Layout> layout_(new PatternLayout(pattern));
  23. appendPtr->setLayout(layout_);
  24. logger.addAppender(appendPtr);
  25. logger.setLogLevel(ALL_LOG_LEVEL);
  26. LOG4CPLUS_INFO(logger,"Info message");
  27. LOG4CPLUS_DEBUG(logger,"Debug message");
  28. LOG4CPLUS_TRACE(logger,"Trace message");
  29. LOG4CPLUS_ERROR(logger,"Error message");
  30. LOG4CPLUS_WARN(logger,"Warning message");
  31. LOG4CPLUS_FATAL(logger,"fatal message");
  32. return 0;
  33. }


 这是一个简单的例子,更为具体的使用方式可以去查阅更详细的资料:如:

http://wenku.baidu.com/view/51d96c1d964bcf84b9d57b9c.htmlLog4cplus日志库的有点很明显,不会随着日志数量的增加而增加系统的负担,而且不用担心线程安全等其他的问题


来自 https://blog.csdn.net/yanchen0314/article/details/41114053



Linux下log4cplus日志工具配置、安装、测试

log4cplus是C++编写的开源的日志系统,功能非常全面,初次使用log4plus,下面介绍自己在Linux下学习log4cplus过程中的配置、安装和测试过程。

1、log4cplus简介

log4cplus是C++编写的开源的日志系统,前身是java编写的log4j系统.受Apache Software License保护。作者是Tad E. Smith。log4cplus具有线程安全、灵活、以及多粒度控制的特点,通过将信息划分优先级使其可以面向程序调试、运行、测试、和维护等全生命周期; 你可以选择将信息输出到屏幕、文件、NT event log、甚至是远程服务器;通过指定策略对日志进行定期备份。

2、log4cplus下载

最新的log4cplus可以从以下网址下载。

log4cplus:http://sourceforge.net/projects/log4cplus/

RedHat Linux系统下可使用以下命令安装:

wget http://sourceforeg.net/projects/log4cplus/files/log4cplus-stable/1.1.2/log4cplus-x.x.x.tar.gz

3、log4cplus安装

tar xvzf log4cplus-x.x.x.tar.gz

cd log4cplus-x.x.x

./configure

make

make install

4、log4cplus配置

log4cplus默认安装后头文件路径是/usr/local/include/log4cplus,库文件的安装文件路劲是/usr/local/lib,编辑.bash_profile文件添加库文件。

$ vi ~/.bash_profile

添加:

LD_LIBRARY_PATH=LD_LIBRARY_PATH:/usr/local/lib

export LD_LIBRARY_PATH

添加完后source ~/.bash_profile使改变生效

$ vi /etc/profile

添加:

CPLUS_INCLUDE_PATH=LD_LIBRARY_PATH:/usr/local/lib

export CPLUS_INCLUDE_PATH

添加完后source ~/.bash_profile使改变生效

5、测试

#include <log4cplus/logger.h>
#include <log4cplus/configurator.h>
#include <iomanip>
#include <log4cplus/logger.h>
#include <log4cplus/fileappender.h>
#include <log4cplus/consoleappender.h>

#include <log4cplus/loggingmacros.h>
#include <log4cplus/layout.h>
#include <time.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(<);
char* timetemp=ctime(<);
*(timetemp+strlen(timetemp)-1)='\0';
char temp[10000];
sprintf(temp,"[%s] %s",timetemp,info);
        printf("temp==%s",temp);
printf("leval====%s\n",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(<);
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);
        return 0;
}

编译命令

g++ filetime.cpp -I /usr/local/log4cplus/include/ -L /usr/local/log4cplus/lib -llog4cplus -o filetime

log4cplus 的详细介绍请点这里
log4cplus 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-01/128037.htm

来自 https://www.linuxidc.com/Linux/2016-01/128037.htm



log4cplus在linux下的安装和使用(1)

第一步


下载log4cplus
最新的log4cplus可以从以下网址下载 http://sourceforge.net/projects/log4cplus/files/log4cplus-stable/
第二步


安装


tar xvzf log4cplus-x.x.x.tar.gz cd log4cplus-x.x.x. sudo ./configure --prefix=/where/to/install make sudo make install
第三步



确保你的Makefile中包含 /usr/local/lib/liblog4cplus.a(静态库)或  -llog4cplus(动态库)即可,
头文件在/usr/local/include/log4cplus目录下。对于动态库,要想正常使用,还得将库安装路径加入到
LD_LIBRARY_PATH 中,我一般是这样做的:以管理员身份登录,在/etc/ld.so.conf中加入安装路径,这里
是/usr/local/lib,然后执行ldconfig使设置生效即可
第四步


编译的时候

编译用法
g++ filetime.cpp -I /usr/local/log4cplus/include/ -L /usr/local/log4cplus/lib -llog4cplus -o filetime

没有g++的话安装 sudo apt-get install g++即可

第五步

测试自带的文件

cd  tests

进入一个测试文件 运行可执行文件

学习测试文件log的使用方法

来自 https://blog.csdn.net/wuheshi/article/details/42077119


  1. 在Linux上的使用开源C++日志库---log4cplus

  2. 简 介

  3. log4cplus是C++编写的开源的日志系统,前身是java编写的log4j系统.受Apache Software License保护。作者是Tad E. Smith。

    log4cplus具有线程安全、灵活、以及多粒度控制的特点,通过将信息划分优先级使其可以面向程序调试、运行、测试、和维护等全生命周期;你可以选择将信息输出到屏幕、文件、NT event log、甚至是远程服务器;通过指定策略对日志进行定期备份等等。
     
    2.下 载

    最新的log4cplus可以从这里下载

    3.安 装

    #tar xvzf log4cplus-1.0.4-rc10.tar.gz
    #cd log4cplus-1.0.4-rc10
    #./configure --prefix=/usr/local
    #make
    #make install
    安装成功会在/usr/local/lib下看到liblog4cplus.a,在/usr/local/include下有个liblog4cplus文件夹

    在Linux上的使用开源C++日志库---log4cplus

来自 https://www.linuxidc.com/Linux/2011-02/32561.htm



普通分类: