我已经设置了log4net,如下所示,但它没有写入文件。我已经使用Breakpoint运行应用程序来检查异常但是没有抛出异常。请帮忙 的web.config
<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(); }
}
答案 0 :(得分:2)
需要指定正确的appender引用。它设置为FileAppender。应该是RollingFileAppender。
<root>
<level value="INFO" />
<appender-ref ref="RollingFileAppender" />
</root>
另请注意,您可以使用.InfoFormat而不是单独的string.Format()调用。