導航:首頁 > 操作系統 > 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相關的資料

熱點內容
iua編譯器下載官方 瀏覽:84
壓縮機高低壓快速平衡 瀏覽:873
phpai 瀏覽:707
怎麼不被命令 瀏覽:86
大話緣定三生伺服器什麼便宜 瀏覽:967
idea編譯內部類 瀏覽:466
pdf2word在線轉換 瀏覽:588
tim儲存在哪個文件夾 瀏覽:621
華碩電腦u盤加密最簡單方法 瀏覽:853
編程過路馬游戲 瀏覽:608
python多重線性回歸 瀏覽:516
冰箱壓縮機工作圖 瀏覽:843
OTC機器人編程師 瀏覽:948
簽名的apk能防止反編譯嗎 瀏覽:311
我的世界伺服器如何版本 瀏覽:285
集合競價買入額指標源碼 瀏覽:114
雲伺服器安裝華為歐拉系統 瀏覽:959
c面向對象編程教程 瀏覽:527
php的重定向跳轉頁面跳轉 瀏覽:411
電氣控制與plcpdf 瀏覽:465