讓Log4CPLUS每個CPP記一個日誌檔案
請尊重原創作品。轉載請保持文章完整性,並以超連結形式註明原始作者“tingsking18”和主站點地址,方便其他朋友提問和指正。
1. 寫一個頭檔案,"mylog.h",如下:
#pragma once #include <log4cplus/logger.h> #include <log4cplus/configurator.h> #include <log4cplus/fileappender.h> #include <log4cplus/consoleappender.h> #include <log4cplus/layout.h> #include <log4cplus/logger.h> #include <log4cplus/ndc.h> #include <log4cplus/helpers/loglog.h> #include <log4cplus/helpers/threads.h> #include <log4cplus/streams.h> using namespace std; using namespace log4cplus; struct GLOG { GLOG(const char * _fname) { string n = _fname; Logger _l = (Logger::getInstance(n)); n+= ".log"; _l.addAppender(new RollingFileAppender(n.c_str(), 1024*10, 10)); _l.addAppender(new ConsoleAppender()); } }; #define USE_SEPARATE_LOG(fname) static GLOG _g(fname); #define fLog Logger::getInstance(__FILE__)
2. 在所有要打log的cpp檔案裡 include "mylog.h",
並在檔案的最前面加一句: USE_SEPARATE_LOG(__FILE__)
3. 所有打log的地方都用下面的句子打:
LOG4CPLUS_INFO(fLog, "testtest"<<endl);
比如:
#include "stdafx.h" #include <iostream> #include "mylog.h" USE_SEPARATE_LOG(__FILE__) int main(int argc, _TCHAR* argv[]) { LOG4CPLUS_INFO(fLog, "Hello world"<<endl); return 0; }
BTW:每個檔案記錄一個日誌檔案真不是什麼好辦法。
相關推薦
讓Log4CPLUS每個CPP記一個日誌檔案
請尊重原創作品。轉載請保持文章完整性,並以超連結形式註明原始作者“tingsking18”和主站點地址,方便其他朋友提問和指正。1. 寫一個頭檔案,"mylog.h",如下:#pragma once #include <log4cplus/logger.h> #i
logback日誌的使用,每天生成一個日誌檔案,以及error和其他級別日誌的分離
springboot會自動幫我們讀取logback的配置檔案,我們實現只需要新增即可在application中配置日誌檔案的位置logging: config: classpath:conf/logback-dev.xml配置檔案的內容如下:<?xml versio
logback框架使用誤區 如何將所有包的ERROR級別日誌集中列印到一個日誌檔案中
早就想寫這個事情了,起因是自己想寫一個東西,其中使用logback日誌框架記錄日誌 打算 將所有包的ERROR及以上級別日誌打到一個檔案中,各個包下的日誌打到對應包的檔案中。 起初寫的xml配置類似於這樣: <!-- 其中一個appender,
CentOS Linux系統下apache日誌檔案設定(每天單獨生成一個日誌檔案)
vi /etc/httpd/conf/httpd.conf #編輯檔案 #ErrorLog logs/error_log #註釋此行,新增下面這行 ErrorLog "|rotatelogs /var/log/httpd/error_log%Y%m%d.log 8
一個log4j.properties配置(每天一個日誌檔案)
log4j.rootCategory=WARN,stdout, hd log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j
log4j配置每天生成一個日誌檔案
本文僅記錄tomcat下配置成功的記錄,不作log4j配置的詳細使用解釋。 該配置在tomcat的logs資料夾下每天產生新的日誌檔案(DEBUG級別:log.log)(ERROR級別:error.log),然後將前一天的日誌檔案log.log和error.log的名稱
遇到一個日誌檔案變化帶來的檔案控制代碼問題
正在進行的專案中有個系統除錯日誌儲存的功能,需要儲存列印資訊。測試部反饋了一個bug:除錯日誌檔案有時候不更新。對照程式碼,專案用的程式碼和之前專案的程式碼是一樣的。感覺沒什麼問題,我自己測試沒發現有不更新的情況,但測試部已經反饋過幾次了,肯定有問題。專案deadlin
log4j配置:每天輸出一個日誌檔案(分級別)
#建議只適應四個級別,從低到高 DEBUG INFO WARN ERROR log4j.rootLogger = INFO,console,infofile,errorfile #warnfile log4j.addivity.org.apache = tru
tomcat中多個專案(web專案)共用log4j.jar的情況下,如何讓其各自列印各自的日誌檔案。及輸出同級別日誌資訊
問題描述: 1.專案A中有一個log4j.properties(配置為把日誌輸出到以專案名稱命名的資料夾中) 2.為了減輕tomcat負擔,把專案A的WEB-INF/lib下的所有jar檔案拷貝到tomcat下的lib中並修改catalina.properties對其載入
logback實現每個執行緒一個獨立的日誌檔案
本文介紹如何使用logback的Mapped Diagnostic Context (MDC) 和SiftingAppender實現每個執行緒一個獨立的日誌檔案。 MDC 參考手冊http://logback.qos.ch/manual/mdc.html 本文使用log
MyEclipse啟動不了 報 發生一個錯誤 讓看日誌檔案
!SESSION 2018-06-04 09:32:14.000 -----------------------------------------------eclipse.buildId=unknownjava.version=1.7.0_45java.vendor=Or
記一個ASP.Net Core配置檔案問題
最近排查一個ASP.Net Core專案的Bug,用LogInformation()記錄一些執行日誌,本地測試日誌記錄正常,然後發到RC環境測試,結果發現死活沒有日誌資訊。 首先想到就是LogLevel設定有問題。檢查了基礎的配置檔案(appsettings.json)沒有問題,而RC環境的配置檔案
面試- 阿里-. 大資料題目- 給定a、b兩個檔案,各存放50億個url,每個url各佔64位元組,記憶體限制是4G,讓你找出a、b檔案共同的url?
假如每個url大小為10bytes,那麼可以估計每個檔案的大小為50G×64=320G,遠遠大於記憶體限制的4G,所以不可能將其完全載入到記憶體中處理,可以採用分治的思想來解決。 Step1:遍歷檔案a,對每個url求取hash(url)%1000,然後根據所取得的
“顯式等待的坑”記一個讓我糾結了半年的問題。
一入UI深似海,從此穩定是路人。入UI坑這麼久以來,深受穩定性的困擾。深知顯式等待是指令碼穩定性的一大關鍵,卻奈何一直用不好,只能用著執行緒等待,慢慢的執行緒等待的問題也暴露了,最後不得以再來研究顯式等待。以前用顯式等待一直都是偶爾能等到元素,偶爾等不到元素,讓我很是困惑,最
記logback不生成日誌檔案問題
記logback不生成日誌檔案問題 問題描述:在線上部署專案模組時發現這個模組不生成日誌檔案,使用的是logback 發現nohup.out檔案中輸出: SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Foun
如何讓tomcat不記錄catalina.out這個日誌檔案
tomcat日誌記錄配置在conf/logging.properties中 有這5類日誌 catalina,localhost,manager,admin(控制檯),host-manager 還有8個級別 其中 設定為OFF 就可以關閉該類日誌 記錄功能 開啟logging.properties 如圖就將控
web專案Log4j日誌輸出路徑配置問題 問題描述:一個web專案想在一個tomcat下執行多個例項(通過修改war包名稱的實現),然後每個例項都將日誌輸出到tomcat的logs目錄下例項名命名的文
問題描述:一個web專案想在一個tomcat下執行多個例項(通過修改war包名稱的實現),然後每個例項都將日誌輸出到tomcat的logs目錄下例項名命名的資料夾下進行區分檢視每個例項日誌,要求通過儘可能少的改動配置檔案,最好修改例項名後可以不修改log4j的配置檔案。 實現分析:一般實現上面需求,需要在修
給每個函式寫一個記錄日誌的功能.
# 功能要求: 每一次呼叫函式之前, 要將函式名稱, 時間節點記錄到log的日誌中.# 所需模組:# import time## def logger(fn):# def inner(*args, **kwargs):# # fn.__name__ # 函式名字# f
log4j2 動態生成logger,每個logger一個輸出檔案
maven依賴 <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifac
題目:使用UDF函式統計出flow.dat日誌檔案當中每個網站的瀏覽次數
一:編寫MapReduce程式清洗資料 我們需要的是統計日誌檔案中每個網站的瀏覽次數,為了方便起見,我們只取網站這一列資料。取出網站資料的這一操作就在map中進行,在reduce中無需對資料做處理。 原始碼: MyMapper類