1
我想在全球日誌文件中使用log4net的,一個,而另一個用於特定用戶的文件,爲了這個,我設置帕拉姆在附加器這樣日誌在兩個不同的文件log4net的
<param name="File" value="D:\Projects\Web\Web\Services\Log\%property{LogFileName}" />
寫在兩個不同的文件日誌
和確定這樣的函數
public void AddInfo(string message)
{
log4net.GlobalContext.Properties["LogFileName"] = this.UserId + ".txt";
log4net.Config.XmlConfigurator.Configure();
Logger.Info(message);
log4net.GlobalContext.Properties["LogFileName"] = "ServiceLog.txt";
log4net.Config.XmlConfigurator.Configure();
Logger.Info(message);
}
這一切都是努力的過程,每一個日誌是寫在兩個不同的文件成功。
我擔心的是,如果我們考慮性能,方法是否正確?
對於每一個日誌都會配置log4net兩次,會對性能產生負面影響嗎?
謝謝!一個好的解決方案,但我想寫日誌到這兩個文件,所以如果我爲用戶配置它,那麼它不會寫日誌到全局文件,不是?或者我錯過了什麼? –
不,log4net會將日誌事件寫入所有爲當前記錄器和事件匹配級別配置的appender。所以,在這種情況下,事件將被傳遞給兩個appender。順便說一句,有一些方法可以避免爲每個用戶配置。等一下,我會更新答案。 –
@PawanNogariya查看[RollingPatternFileAppender](http://mysite.verizon.net/vze14bhji/)我認爲您可以將其用於用戶日誌文件。也考慮將用戶日誌寫入數據庫。 –