2016-01-30 225 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