2016-01-30 222 views
1

我已經設置log4net如下,但它沒有寫入文件。我用斷點運行了應用程序以檢查異常,但沒有拋出異常。請幫助 的Web.configLog4net不寫入日誌文件

<configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> 
    </configSections> 
    <log4net> 
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
     <file value="C:\\Users\\yperez\\Desktop\\Demos\\AvatarPasswordReset\\mylogfile.txt" /> 
     <appendToFile value="true" /> 
     <rollingStyle value="Size" /> 
     <maxSizeRollBackups value="5" /> 
     <maximumFileSize value="10MB" /> 
     <staticLogFileName value="true" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date [%thread] %level %logger - %message%newline" /> 
     </layout> 
    </appender> 
    <root> 
     <level value="INFO" /> 
     <appender-ref ref="FileApender" /> 
    </root> 
    </log4net> 

的Global.asax

<%@ Application Language="C#" %> 

void Application_Start(object sender, EventArgs e) 
{ 
    log4net.Config.XmlConfigurator.Configure(); 

} 
//More empty methods below 

Default.aspx的

using log4net; 
//Other using statements 
[assembly:log4net.Config.XmlConfigurator(Watch = true)] 
public partial class _Default : System.Web.UI.Page{ 
//More code and methods... 
    public void AppendToLog(string new_password, string user_named_changed, string sent) 
{ 
    try 
    { 
     string date = DateTime.Now.ToString(); 
     string PCUser = System.Security.Principal.WindowsIdentity.GetCurrent().Name; 
     string a = String.Format("|{0}|{1}|{2}|{3}|{4}", date, PCUser, user_named_changed, new_password, sent); 

     ILog logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 
     logger.Info(a + "\r\n"); 
    } 
    catch (Exception exc) { logger_status = exc.ToString(); } 

} 

回答

2

需要指定適當的附加器參考。它被設置爲FileAppender。應該是RollingFileAppender。

<root> 
     <level value="INFO" /> 
     <appender-ref ref="RollingFileAppender" /> 
</root> 

另請注意,您可以使用.InfoFormat而不是單獨的string.Format()調用。

+0

它的工作,非常感謝你 – Yoismel