二、下载与安装

环境:linux

依赖:apr、apr-util

安装步骤:

1.由于log4cxx是依赖于apr的,因此先安装apr和apr-util这两个库,我会将这两个库安装到同一个目录下;

$>tar xvf apr-1.4.6.tar.gz

$>cd apr-1.4.6

$>./configuer --prefix=/usr/local/apr

$>make

$>make install

目前apr安装完成,会在/usr/local下产生apr目录

$>tar xvf apr-util-1.5.1.tar.gz

$>cd apr-util-1.5.1

$>./configure  --prefix=/usr/local/apr --with-apr=/usr/local/apr

$>make

$>make install

apr-util也会安装/usr/local/apr目录下

2.开始安装log4cxx,下载完之后,当前目录下有apache-log4cxx-0.10.0.tar.gz。

$>tar xvf apache-log4cxx-0.10.0.tar.gz

$>cd apache-log4cxx-0.10.0

$>./configure --prefix=/usr/local/log4cxx --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr  --with-charset=utf-8 --with-logchar=utf-8

$>make

注意:由于我用的是ubuntu系统,默认编码是utf-8,因此必须要加上 --with-charset=utf-8 --with-logchar=utf-8,不然中文输出是一堆乱码。

这时候会出现这样的错误

inputstreamreader.cpp:66: error: 'memmove' was not declared in this scope

make[3]: *** [inputstreamreader.lo] 错误 1

在网上找了相关资料,原来有几个.cpp文件缺少了一些引用头文件,添加上去即可。

src/main/cpp/inputstreamreader.cpp添加#include

src/main/cpp/socketoutputstream.cpp添加#include

src/examples/cpp/console.cpp添加#include ;#include ;

这些文件修改完之后,执行make和make install就可安装成功。

三、测试

主函数代码:main.cpp

#include

#include

#include

#include

#include

int main()

{

log4cxx::PropertyConfigurator::configureAndWatch("log4cxx.properties");

log4cxx::LoggerPtr logger(log4cxx::Logger::getLogger("lib"));

LOG4_DEBUG(logger, "this is log4cxx test");

return 0;

}

配置文件:log4cxx.properties

# 设置root logger为DEBUG级别,使用了ca和fa两个Appender

log4j.rootLogger=DEBUG,lib

#对Appender lib进行设置:

# 这是一个文件类型的Appender,

# 其输出文件(File)为./lib.log,

# 输出方式(Append)为覆盖方式,

# 输出格式(layout)为PatternLayout

log4j.appender.lib=org.apache.log4j.ConsoleAppender

log4j.appender.lib.Threshold=DEBUG

#log4j.appender.lib.DatePattern='log/'yyyy-MM-dd'_SysService.log'

log4j.appender.lib.File=./log/output.log

log4j.appender.lib.Append=true

log4j.appender.lib.layout=org.apache.log4j.PatternLayout

log4j.appender.lib.layout.ConversionPattern=[%-5p] %d %l : %m%n

$>g++ -o test -I/usr/local/apr/include -L/usr/local/apr/lib -lapr-1 -laprutil-1 main.cpp

$./test

会在屏幕中打印出

[DEBUG] 2012年11月14日 15:16:17,890 main.cpp(10) : test

先写到这里,下篇将会介绍log4cxx的配置。

我使用报错,没找到文件:

defines.h:24:28: fatal error: log4cxx/logger.h: No such file or directory

#include

我是装在:/usr/local/log4cxx 目录

下面有2个目录,include和lib。

/usr/local/log4cxx/include/log4cxx 才是头文件。

我们在gcc加上-I/usr/local/log4cxx/include 即可。

加上lib目录:-L/usr/local/log4cxx/lib

使用时

//usr/local/apr/lib/libapr-1.so.0: undefined reference to `uuid_generate@UUID_1.0'

加上

参考:

log4cpp乱码_log4cxx安装和使用相关推荐

  1. openoffice+linux+jodconverter+乱码,OpenOffice安装和转换乱码解决方案

    前言: OpenOffice项目中用途:word转换pdf Windows安装.转换:安装包下载后一路OK就可以正常安装,转换没有问题 Linux安装.转换:安装有分DEB包和RPM包,下面会说明各自 ...

  2. oracle 安装乱码,linux安装Oracle中文乱码问题汇总

    解决oracle中文显示乱码有三层地方需要调整或者修改 第一层:操作系统层 1.首先查看linux是否有安装中文字符集,locale -a 2.设置用户的中文字符集 查看到linux安装了中文字符集, ...

  3. linux服务器程序乱码,Linux安装GBK/GB2312程序显示乱码的五种解决方法

    不少用户在Linux系统中安装GBK或GB2312的时候遇到了乱码问题,这主要是系统默认语言是uft8所导致,对于该问题可用五种方法进行解决,下面小编就给大家介绍下Linux安装GBK或GB2312程 ...

  4. bae java乱码_BAE安装HotNews Pro乱码解决方案

    当前我们选择的主题是国内的HotNews Pro这款不错的主题,但是,在安装之后发现页面有部分乱码出现.具体体现在文章的截取部分和文章的title及tag页面.经过多方查验,发现是mb_strimwi ...

  5. 中文输入法/搜狗输入法的配置 搜狗输入法选词乱码 谷歌浏览器安装

    下面的配置会用到下载和更新,如果发现ubuntu的下载和更新速度太慢,可以更换源来解决问题,具体搜索或者参见我的博客 ubuntu apt下载速度慢的解决办法 中文输入法,搜狗输入法 更换输入法: h ...

  6. linux微软雅黑乱码,CentOS安装微软雅黑,解决drawImage中文乱码相关问题

    CentOS安装微软雅黑,解决drawImage中文乱码相关问题 使用Graphics的drawString方法向图片上添加汉字时候,Windows是没问题的,在Linux上中文总是乱码,小方块,之前 ...

  7. 杰奇后台乱码,安装杰奇程序后后台出现很多问号

    杰奇安装很简单,但有时候有会遇到些意料之外的问题,本帖来说下安装好杰奇程序,进入后台之后发现区块里出现很多问题一品丹仙,显示不了区块标题等,有的也会在"小说连载"的导航里出现问号. ...

  8. linux安装数据库乱码,Linux上Oracle安装前汉字乱码和安装后创建数据库乱码的解决方法...

    相信每一位在Linux上安装过Oracle的朋友都受过汉字"口口"形乱码的困扰,在论坛上搜索了一下,没有找到完整的解决方案,大都是建议将Linux改成英文环境,有部分回复提到过更改 ...

  9. jupyter 汉字乱码_jupyter安装以及使用 中文乱码问题

    一 jupyter的安装 1.如果你已经安装了conda就不用继续安装了,应为里面已经集成了 二 jupyter的使用 1 打开jupyter notebook 命令端打开 jupyter noteb ...

  10. linux php oracle 乱码,Linux安装Oracle中文乱码的解决

    在Linux上安装过Oracle的时候汉字都是rdquo;口口rdquo;形乱码 最初时间比较紧张只能用英文安装,后来经过反复试验和整理,现在 在Linux上安装过Oracle的时候汉字都是" ...

最新文章

  1. 看看是否有人用USB偷插你的电脑
  2. hdu5025(bfs,状态压缩)
  3. 学完Java后找工作难吗?需要满足什么条件?
  4. Lucene创建索引入门案例
  5. Python 的垃圾回收回收机制(源码)
  6. python numpy Quickstart tutorial之ndarray创建
  7. unity3d 求两个点长度_三年级上册求组合图形周长专项练习,附答案
  8. 动我 Java?是时候让甲骨文退休了!
  9. PHP 实现Session入库/存入redis
  10. android配置多个url,Retrofit中使用多个baseUrl
  11. api php usdt 以太坊_以太坊PHP离线交易开发包
  12. qtouch跨平台组态软件四位一体表现
  13. 超声波传感器模块原理
  14. Cartesian convention笛卡尔公约
  15. Linux命令 - who命令
  16. (四)进程的生命周期——起源
  17. java 实现非极大值抑制
  18. ]一周热文推荐:致应届毕业生——程序员的生存法则
  19. 基于微信小程序宠物交易系统
  20. ehcache 默认大小_ehcache基本原理

热门文章

  1. pon终端测试仪_6304-PON终端测试仪报价_测试仪-北京海富达科技有限公司
  2. 使用积分图像进行自适应二值化[Derek Bradley, Gerhard Roth, 2007]
  3. marked扩展语法(增加自定义表情)
  4. 诺禾:和Java一样能用汉字编程的神奇语言
  5. idea的英文是什么意思_intellij是什么意思
  6. spark JAVA 开发环境搭建及远程调试
  7. 解决“File has been changed outside the editor, reload?”提示
  8. thinkPHP安装教程
  9. oracle数据库变为只读状态,oracle只读模式
  10. 彼时彼刻恰似此时此刻