2010-03-04 52 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