我正在使用Log4Net將日誌寫入日誌文件並將其存儲在本地臨時文件夾位置(C:\ temp ..)中。現在我想在運行時更改文本(日誌)文件名,所以我在配置文件以及我的應用程序中也做了一些代碼更改。但文件名不能在本地臨時文件夾中更改,並且日誌也沒有寫入文本文件。如何使用C#在運行時更改Log4net中的日誌文件名稱
你能請任何人告訴我解決這個問題或告訴我一些其他的例子來解決這個問題嗎?
這裏我的代碼是:
我的配置文件(Web.config)設置:
<appender name="RollingPatternFileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="%property{LogFileName}.log" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="100MB" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{yyyy-MM-dd HH:mm:ss} %-5level : [%logger] - %message %newline" />
</layout>
</appender>
<logger name="SPM.SERVER">
<level value="DEBUG" />
<appender-ref ref="RollingPatternFileAppender" />
</logger>
我的應用程序代碼是:
ILog logger = LogManager.GetLogger("SPM.SERVER");
log4net.ThreadContext.Properties["LogFileName"] = "MyLog";
logger.Debug("Load Data",ex);
XmlConfigurator.Configure();
此代碼沒」 t在文件內寫入日誌,並且也不會更改文件名。任何人都請糾正我在這段代碼中做錯了什麼,或者告訴我一些其他的例子來實現這個解決方案。
可能重複(http://stackoverflow.com/questions/2807334/configuring-log4net-appenders -via-xml-file-and-code) –
@AndreasNiedermair:我無法打開該網站。 – SuryaKavitha
你想改變文件名稱? Log4net非常靈活,你可以使用不同的appender。爲什麼你需要C#? – nunespascal