Log4Net doesn't log or error

后端 未结 3 1471
甜味超标
甜味超标 2021-02-04 17:57

I have been attempting to get log4net logging in my asp.net web application with no success or any noticable errors. I am attempting to use the ADONetAppender appender with the

相关标签:
3条回答
  • 2021-02-04 18:29

    Internal debugging for log4Net is the way to go as suggested by @Pratik. To write the details into a file do the following:

    Add the following in web.config even if you are using a different config file for log4net.

    <appSettings>
        <add key="log4net.Internal.Debug" value="true"/>
    </appSettings>
    
    <system.diagnostics>
    <trace autoflush="true">
      <listeners>
        <add
        name="textWriterTraceListener"
        type="System.Diagnostics.TextWriterTraceListener"
        initializeData="C:\toolbox\SmartClient\log4net.txt" />
      </listeners>
    </trace>
    </system.diagnostics>
    

    Reference

    1. How do I enable log4net internal debugging?
    2. log4net - Appenders not working in IIS7.5
    0 讨论(0)
  • 2021-02-04 18:31

    you can also set the following appsettings to enable internal log4net debugging information

    <appSettings>
            <add key="log4net.Internal.Debug" value="true"/>
    </appSettings>
    

    The internal debug messages are written to the console (if you have one) or the trace (such as the debug window in visual studio or dbgview from sysintenals). This will help you to troubleshoot log4net issues.

    0 讨论(0)
  • 2021-02-04 18:39

    Have you added added the following section under under Configuration->Configsections

    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
    

    Although it is possible to add your log4net configuration settings to your project’s app.config or web.config file, it is preferable to place them in a separate configuration file. Aside from the obvious benefit of maintainability, it has the added benefit that log4net can place a FileSystemWatcher object on your config file to monitor when it changes and update its settings dynamically.

    To use a separate config file, add a file named Log4Net.config to your project and add the following attribute to your AssemblyInfo.cs file:

    [assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]
    

    Note: for web applications, this assumes Log4Net.config resides in the web root. Ensure the log4net.config file is marked as “Copy To Output” -> “Copy Always” in Properties.

    From here.

    0 讨论(0)
提交回复
热议问题