导航:首页 > 操作系统 > linuxlog4c

linuxlog4c

发布时间:2022-07-18 12:59:33

1. 我的电脑总是提示”log4cplus.dll"文件找不到,文件不能正常打开.是怎么回事

这是由于你的系统缺少log4cplus.dll造成的,dll既“动态链接库”,缺哪个补哪个,去网上搜索log4cplus.dll下载,把它保存在C:\WINDOWS\system32这个目录里面即可。(注意,网上下载的可能是压缩过的,记得解压缩,把后缀.dll的该问题保存下来0。)

2. 请问log4j 可以通过配置Append=true将消息添加的日志文件中而不是覆盖那么log4c怎么配置我的每次都覆盖

在吗,我的总是追加,我想让他输出到文件,然后每次都覆盖,你怎么配置的覆盖?append = false报错:WARN Failed to set property [append] to value "flase".

3. log4cpp,log4cplus,log4cxx这几个包之间是什么关系

Log4cxx需要依赖于APR。
Log4cpp较log4c移植性稍差些。
Log4c基本上都是一些纯c的东西,移植性比其他二者都要好
log4cplus: 简洁, 下载的包编译顺利, 测试例子也能顺利运行。
log4cxx: 臃肿, 需要引用apr(Apache Portable Runtime), 最痛苦的是老是编译不了。
log4cpp: 落后, 最后更新于2007年,而且下载的包不完整。

4. 如何使用log4c日志库,测试例子程序

系统:ubuntu12.10 .
准备:
安装log4c库, sudo apt-get install liblog4c-dev liblog4c-doc
别的系统请网络/GOOGLE找相关编译安装当。log4c官网:http://log4c.sourceforge.net/index.html
文件:
log.h log.c 自己将log4c重新封装的函数
test-log.c 测试用的主函数
log4crc 配置文件(xml,照着写就行)

//log.h

[cpp] view plain
#ifndef _LOG_H_
#define _LOG_H_

#include <string.h>
#include <stdlib.h>

#ifdef __cplusplus
extern "C"
{
#endif

#include "log4c.h"

#ifdef __cplusplus
}
#endif

#define LOG_PRI_ERROR LOG4C_PRIORITY_ERROR
#define LOG_PRI_WARN LOG4C_PRIORITY_WARN
#define LOG_PRI_NOTICE LOG4C_PRIORITY_NOTICE
#define LOG_PRI_DEBUG LOG4C_PRIORITY_DEBUG
#define LOG_PRI_TRACE LOG4C_PRIORITY_TRACE

extern int log_open(const char *category);
extern void log_message(int priority ,const char* fmt, ...);
extern void log_trace(const char *file , int line , const char *func, const char *fmt ,...);
extern int log_close();

#define LOG_ERROR(fmt , args...) \
log_message(LOG_PRI_ERROR, fmt, ##args)
#define LOG_WARN(fmt, args...) \
log_message(LOG_PRI_WARN, fmt , ##args)
#define LOG_NOTICE(fmt , args...) \
log_message(LOG_PRI_NOTICE, fmt , ##args)
#define LOG_DEBUG(fmt , args...) \
log_message(LOG_PRI_DEBUG, fmt , ##args)
#define LOG_TRACE(fmt,args...) \
log_trace(__FILE__ , __LINE__ , __FUNCTION__ , fmt ,## args)

#endif

//log.c

[cpp] view plain
#include <log4c.h>
#include <assert.h>
#include "log.h"

static log4c_category_t *log_category = NULL;

int log_open(const char *category)
{
if (log4c_init() == 1)
{
return -1;
}
log_category = log4c_category_get(category);
return 0 ;
}

void log_message(int priority , const char *fmt , ...)
{
va_list ap;

assert(log_category != NULL);

va_start(ap, fmt);
log4c_category_vlog(log_category , priority , fmt , ap);
va_end(ap);
}

void log_trace(const char *file, int line, const char *fun,
const char *fmt , ...)
{
char new_fmt[2048];
const char *head_fmt = "[file:%s, line:%d, function:%s]";
va_list ap;
int n;

assert(log_category != NULL);
n = sprintf(new_fmt, head_fmt , file , line , fun);
strcat(new_fmt + n , fmt);

va_start(ap , fmt);
log4c_category_vlog(log_category , LOG4C_PRIORITY_TRACE, new_fmt , ap);
va_end(ap);
}

int log_close()
{
return (log4c_fini());
}

//test-log.c

[cpp] view plain
#include <stdio.h>
#include "log.h"

int main(void)
{
log_open("<span style="color: rgb(51, 51, 51); line-height: 20px;">mycat</span>");
LOG_TRACE("trace");
LOG_ERROR("error");
LOG_WARN("warn");
LOG_NOTICE("notice");
LOG_DEBUG("hello log4c!");
log_close();
return 0;
}

//配置文件,默认名为log4crc

[html] view plain
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE log4c SYSTEM "">

<log4c version="1.2.1">

<config>
<bufsize>0</bufsize>
<debug level="2"/>
<nocleanup>0</nocleanup>
<reread>1</reread>
</config>

<!-- root category ========================================= -->
<category name="root" priority="notice"/>
<category name="mycat" priority="debug" appender="stdout"/>

<!-- default appenders ===================================== -->
<appender name="stdout" type="stream" layout="basic"/>
<appender name="stderr" type="stream" layout="dated"/>
<appender name="syslog" type="syslog" layout="basic"/>

<!-- default layouts ======================================= -->
<layout name="basic" type="basic"/>
<layout name="dated" type="dated"/>

</log4c>

编译命令:

[python] view plain
gcc test-log.c log.c -o test-log -llog4c

运行效果

./test-log
[stdout] TRACE mycat - [file:test-log.c, line:7, function:main]trace
[stdout] ERROR mycat - error
[stdout] WARN mycat - warn
[stdout] NOTICE mycat - notice
[stdout] DEBUG mycat - hello log4c!

5. 在linux下配置log4j

log4j与linux没有半毛钱关系。与项目本身有关。比如java中的配置文件即可。
只是注意在linux系统中的路径就可以了

6. log4cplus和log4cpp的区别

不太明白是什么意思 log4cplus输出的是文本内容,可以定制输出策略,比如按时间周期输出,按文件大小输出,如果你想临时输出到其他文件就需要自己写代码切换绑定

7. log4cplus fileappender怎么实现追加写日志

在官方网站下载最新log4cplus源码,通过以下几步安装:
1、解压源码
tar xvzf log4cplus-x.x.x.tar.gz
2、进入解压目录安装

cd log4cplus-x.x.x
2.1、配置编译选项,可以configure跟--help参数查看所有配置选项帮助
./configure

2.2、编译并安装
make
make install
这里我采用缺省安装路径:/usr/local,可以通过--prefix=/install/path指定安装路径。

二、log4cplus内容简介与配置文件使用
log4cplus内容介绍
1. Logger对象
Logger对象具有层次结构,按名称区分,如下代码:

在log4cplus中logger的存储机制中,所有logger都通过一个层次化的结构来组织的,有一个Root级别的logger,可以通过以下方法获取:
Logger root = Logger::getRoot();
用户定义的logger都有一个名字与之对应,比如:
Logger test = Logger::getInstance("test");
可以定义该logger的子logger:
Logger subTest = Logger::getInstance("test.subtest");
注意Root级别的logger只有通过getRoot方法获取,Logger::getInstance("root")获得的是它的子对象而已。有了这些具有父子关系的logger之后可分别设置其LogLevel,比如:
root.setLogLevel( ... );
Test.setLogLevel( ... );
subTest.setLogLevel( ... );
2. 优先级
log4cplus优先级有低到高:
NOT_SET_LOG_LEVEL :接受缺省的LogLevel,如果有父logger则继承它的LogLevel
ALL_LOG_LEVEL :开放所有log信息输出
TRACE_LOG_LEVEL :开放trace信息输出(即ALL_LOG_LEVEL)
DEBUG_LOG_LEVEL :开放debug信息输出
INFO_LOG_LEVEL :开放info信息输出
WARN_LOG_LEVEL :开放warning信息输出
ERROR_LOG_LEVEL :开放error信息输出
FATAL_LOG_LEVEL :开放fatal信息输出
OFF_LOG_LEVEL :关闭所有log信息输出

8. “无法启动此程序,因为计算机中丢失log4cplus.dll。尝试重新安装该程序以解决此问题。”怎么办呢

重新安装系统,或从其它地方拷贝并放置于目标位置尝试。

9. linux开机在rc.local中执行程序并利用log4c记录日志在/var/log/下的问题

是不是开机脚本运行有问题,或者说这个程序需要再某些程序启动后执行,你开机的时候执行早了

10. log4D和log4c是什么东西

log4c:开源Log工具,在C项目或是C++项目中都是可以使用log4c

如果是杀毒出现,删了吧,不会对计算机有影响的。

阅读全文

与linuxlog4c相关的资料

热点内容
好兴动app还款怎么登录不上去了 浏览:665
郑州云服务器托管 浏览:722
服务器地址跟踪 浏览:978
免费google云服务器 浏览:516
摘译和编译的英文 浏览:359
热泵压缩机选型 浏览:121
op手机微信加密如何解除 浏览:386
如何在王牌战争找到高爆率服务器 浏览:13
江浙小学语文辅导课用什么APP 浏览:99
新梦幻大陆服务器地址 浏览:241
网吧服务器怎么更换壁纸 浏览:530
linux命令方法 浏览:332
linux下载freetype 浏览:123
程序员入驻平台 浏览:327
程序员大战外挂 浏览:745
html实例教程pdf 浏览:157
linux命令开放所有权限 浏览:575
30岁能学会编程 浏览:737
小火箭的服务器是什么 浏览:967
cad查信息命令 浏览:402