log4cpp乱码_log4cxx安装和使用
二、下载与安装
环境: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安装和使用相关推荐
- openoffice+linux+jodconverter+乱码,OpenOffice安装和转换乱码解决方案
前言: OpenOffice项目中用途:word转换pdf Windows安装.转换:安装包下载后一路OK就可以正常安装,转换没有问题 Linux安装.转换:安装有分DEB包和RPM包,下面会说明各自 ...
- oracle 安装乱码,linux安装Oracle中文乱码问题汇总
解决oracle中文显示乱码有三层地方需要调整或者修改 第一层:操作系统层 1.首先查看linux是否有安装中文字符集,locale -a 2.设置用户的中文字符集 查看到linux安装了中文字符集, ...
- linux服务器程序乱码,Linux安装GBK/GB2312程序显示乱码的五种解决方法
不少用户在Linux系统中安装GBK或GB2312的时候遇到了乱码问题,这主要是系统默认语言是uft8所导致,对于该问题可用五种方法进行解决,下面小编就给大家介绍下Linux安装GBK或GB2312程 ...
- bae java乱码_BAE安装HotNews Pro乱码解决方案
当前我们选择的主题是国内的HotNews Pro这款不错的主题,但是,在安装之后发现页面有部分乱码出现.具体体现在文章的截取部分和文章的title及tag页面.经过多方查验,发现是mb_strimwi ...
- 中文输入法/搜狗输入法的配置 搜狗输入法选词乱码 谷歌浏览器安装
下面的配置会用到下载和更新,如果发现ubuntu的下载和更新速度太慢,可以更换源来解决问题,具体搜索或者参见我的博客 ubuntu apt下载速度慢的解决办法 中文输入法,搜狗输入法 更换输入法: h ...
- linux微软雅黑乱码,CentOS安装微软雅黑,解决drawImage中文乱码相关问题
CentOS安装微软雅黑,解决drawImage中文乱码相关问题 使用Graphics的drawString方法向图片上添加汉字时候,Windows是没问题的,在Linux上中文总是乱码,小方块,之前 ...
- 杰奇后台乱码,安装杰奇程序后后台出现很多问号
杰奇安装很简单,但有时候有会遇到些意料之外的问题,本帖来说下安装好杰奇程序,进入后台之后发现区块里出现很多问题一品丹仙,显示不了区块标题等,有的也会在"小说连载"的导航里出现问号. ...
- linux安装数据库乱码,Linux上Oracle安装前汉字乱码和安装后创建数据库乱码的解决方法...
相信每一位在Linux上安装过Oracle的朋友都受过汉字"口口"形乱码的困扰,在论坛上搜索了一下,没有找到完整的解决方案,大都是建议将Linux改成英文环境,有部分回复提到过更改 ...
- jupyter 汉字乱码_jupyter安装以及使用 中文乱码问题
一 jupyter的安装 1.如果你已经安装了conda就不用继续安装了,应为里面已经集成了 二 jupyter的使用 1 打开jupyter notebook 命令端打开 jupyter noteb ...
- linux php oracle 乱码,Linux安装Oracle中文乱码的解决
在Linux上安装过Oracle的时候汉字都是rdquo;口口rdquo;形乱码 最初时间比较紧张只能用英文安装,后来经过反复试验和整理,现在 在Linux上安装过Oracle的时候汉字都是" ...
最新文章
- 看看是否有人用USB偷插你的电脑
- hdu5025(bfs,状态压缩)
- 学完Java后找工作难吗?需要满足什么条件?
- Lucene创建索引入门案例
- Python 的垃圾回收回收机制(源码)
- python numpy Quickstart tutorial之ndarray创建
- unity3d 求两个点长度_三年级上册求组合图形周长专项练习,附答案
- 动我 Java?是时候让甲骨文退休了!
- PHP 实现Session入库/存入redis
- android配置多个url,Retrofit中使用多个baseUrl
- api php usdt 以太坊_以太坊PHP离线交易开发包
- qtouch跨平台组态软件四位一体表现
- 超声波传感器模块原理
- Cartesian convention笛卡尔公约
- Linux命令 - who命令
- (四)进程的生命周期——起源
- java 实现非极大值抑制
- ]一周热文推荐:致应届毕业生——程序员的生存法则
- 基于微信小程序宠物交易系统
- ehcache 默认大小_ehcache基本原理
热门文章
- pon终端测试仪_6304-PON终端测试仪报价_测试仪-北京海富达科技有限公司
- 使用积分图像进行自适应二值化[Derek Bradley, Gerhard Roth, 2007]
- marked扩展语法(增加自定义表情)
- 诺禾:和Java一样能用汉字编程的神奇语言
- idea的英文是什么意思_intellij是什么意思
- spark JAVA 开发环境搭建及远程调试
- 解决“File has been changed outside the editor, reload?”提示
- thinkPHP安装教程
- oracle数据库变为只读状态,oracle只读模式
- 彼时彼刻恰似此时此刻