Ich habe versucht, die Debug-Protokolle zu ziehen und aus welchem Grunde der Datei, kann ich nicht in meinem Web-App zum Laufen zu bringen log4net scheinen:nicht in der Lage log4net zu erhalten, zu schreiben
Meine Web.config sieht aus wie :
<!--
For more information on how to configure your ASP.NET application, please visit
https://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<configSections>
<section name ="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net" requirePermission="false" />
</configSections>
<log4net>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value ="%message" />
</layout>
</appender>
<appender name="FileAppender" type="log4net.Appender.FileAppender" >
<file value ="C:\logs\testlog.txt" />
<lockingModel type ="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value ="%message" />
</layout>
</appender>
<root>
<level value ="DEBUG" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="FileAppender" />
</root>
</log4net>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
</configuration>
in meinem Service.asmx.cs:
public class Service : System.Web.Services.WebService
{
public static readonly log4net.ILog Log = log4net.LogManager.GetLogger(typeof(Service));
protected void Page_Load(object sender, EventArgs e)
{
log4net.Config.XmlConfigurator.Configure();
}
Mein AssemblyInfo.cs
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
Control.ascx.cs:
protected void Page_Load(object sender, EventArgs e)
{
//NOTE: This method will be invoked whenever ANY widget on the dashboard does a postback
log4net.Config.XmlConfigurator.Configure();
}
Ich habe alle Berechtigungen für den Protokollordner angegeben.
Das andere Element, das ich beachten wollte, ist, dass ich diesen genauen Code bekomme, um mit einer Standardkonsolenanwendung ohne Probleme zu arbeiten. Wenn ich jedoch versuche, es in meiner Web-App zu verwenden, habe ich kein Glück. Ich wollte auch sagen, dass dies ein Web-App-Widget ist, das Teil einer größeren Anwendung ist.
[Aktivieren Sie log4net Debugging] (http://haacked.com/archive/2006/09/27/Log4Net_Troubleshooting.aspx/) und überprüfen Sie die Ausgabe. BTW Warum haben Sie zwei log4net ConfigSection Deklarationen? – stuartd
Ja, ich hatte zwei .. eins für die lokale Web-App und ne für die Haupt-App. Danke fürs klarstellen –