① C++ log4cplus 寫入日誌失敗,那麼這個異常怎麼撲捉
直接用try ...catch捕獲啊
try{
LOG4CPLUS_TRACE(logger, strData.c_str());
}
catch(...)
{
//do something
}
② 打開安裝日誌文件時出錯。請驗證指定的日誌文件位置是否存在,是否可以寫入
可能Vista瘦身大師把必要文件跟「優化」掉了,才導致這樣的後果, 重裝吧。。
③ 使用了log4net,發布系統後,發現無法寫日誌了,怎麼辦
在項目中配置第一步:首先在項目中引用log4net.dll文件。第二步:在Web.config文件中進行添加configSections的節點第三步:添加log4net配置節點然後在log4net節點下添加寫入本地文本文件中的配置注釋很清楚,就不解釋了。寫入指定郵箱的配置通過的是163郵箱伺服器發送將日誌寫入資料庫的相關配置,還要建立一張對應的資料庫表另外一種寫入文件的方式配置在log4net節點中還有兩個節點在框架的體系裡,所有的日誌對象都是根日誌(rootlogger)的後代。因此如果一個日誌對象沒有在配置文件里顯式定義,則框架使用根日誌中定義的屬性。在標簽里,可以定義level級別值和Appender的列表。如果沒有定義LEVEL的值,則預設為DEBUG。可以通過標簽定義日誌對象使用的Appender對象。聲明了在其他地方定義的Appender對象的一個引用。在一個logger對象中的設置會覆蓋根日誌的設置。而對Appender屬性來說,子日誌對象則會繼承父日誌對象的Appender列表。這種預設的行為方式也可以通過顯式地設定標簽的additivity屬性為false而改變。那麼上面就會有資料庫日誌的寫入和郵箱的寫入在Global.asax文件初始化配置調用運行一下Log4net中DEBUG、INFO、WARN、ERROR區分得很好。正常的DEBUG、INFO的日誌,就讓它記錄在日誌文件裡面吧。對於WARN、ERROR級別的日誌,記錄到日誌文件的同時,順便發送電子郵件到我的信箱裡面。這樣一來,我也不必每天去看日誌文件,二來,出了什麼問題,能及時通過電子郵件得到通知。資料庫結構