2010-03-04 39 views
0

我在我的.NET項目使用log4net的設置站點名稱從IIS,並正在與像名字創建的日誌:我怎麼能在我的log4net的創建文件

C:\\Inetpub\\zz_appLogs\\<hard coded sitename>\\<yyyyMMdd>\\<hard coded file name with txt extension>

現在我想更改日誌文件名與IIS中的當前網站名稱。我在log4net的設置試過,但它沒有工作:

<file type="log4net.Util.PatternString" 
     value="C:\Inetpub\zz_appLogs\MYsiteLogs\" /> 
... 
<datePattern 
     value="yyyyMMdd\\&quot;%property{CURRENTSITENAME}_info.txt&quot;" /> 

得到的日誌文件名具有如下:

C:\Inetpub\zz_ErrorLogs\MVCdoctoolLogs\20100304\ 
     %property{CURRENTSITENAME}_error.txt` 

我設置在app_start物業項目的Global.ascx文件:

log4net.GlobalContext.Properties["CURRENTSITENAME"] = 
     System.Web.Hosting.HostingEnvironment.SiteName; 

你能告訴我如何在由log4net創建的txt文件中設置sitename。

在此先感謝 :)

回答

0

我想自己和下面給我預期的結果。我測試了一個控制檯應用程序,但我看不出這應該改變什麼:

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
     <file type="log4net.Util.PatternString" value="c:\temp\%date{yyyyMMdd}\%property{SiteName}.txt" /> 
     <rollingStyle value="Size" /> 
     <appendToFile value="true" /> 
     <maximumFileSize value="100KB" /> 
     <maxSizeRollBackups value="1" /> 
     <layout type="log4net.Layout.PatternLayout"> 
      <conversionPattern value="%date [%2thread] %-5level %logger - %message%newline" /> 
     </layout> 
    </appender> 
+0

喜, 我用這: 文件類型=「log4net.Util.PatternString」值=「C:\ Inetpub \ zz_appLogs \ MVCdoctoolLogs \%date {yyyyMMdd} \%property {CURRENTSITENAME} .txt「 但是日誌文件現在正在創建此路徑: C:\ Inetpub \ zz_appLogs \ MysitaName \ 20100304 \ MYTESTSITENAME.txt.2010 -03-04 我還沒有在appender中指定「datePattern」,但它是在文件名末尾添加日期。 現在,我可以閱讀sitename&date的屬性too.Buy怎麼樣在文件名末尾的日期... – gbhatnagar 2010-03-04 13:25:57