代码之家  ›  专栏  ›  技术社区  ›  Kamsiinov

Log4net没有记录任何内容

  •  2
  • Kamsiinov  · 技术社区  · 8 年前

    我无法让log4net在我的ASP上工作。NET项目。我的网站。配置如下所示:

    <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
     </configSections>
    <log4net debug="true">
    <appender name="console" type="log4net.Appender.ConsoleAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date %level %logger - %message%newline" />
      </layout>
    </appender>
    <appender name="file" type="log4net.Appender.RollingFileAppender">
      <file value="CardGame.log" />
      <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="ALL"/>
      <appender-ref ref="console" />
      <appender-ref ref="file" />
    </root>
    </log4net>
    

    我的LogHelper类如下所示:

    public class LogHelper
    {
        private static LogHelper _instance = new LogHelper();
        private static volatile object _lock = new object();
        public ILog Logger;
    
        public static LogHelper Instance
        {
            get
            {
                lock (_lock)
                {
                    if (_instance == null)
                    {
                        _instance = new LogHelper();
                    }
                }
                return _instance;
            }
        }
    
        private LogHelper()
        {
            Logger = LogManager.GetLogger(typeof(LogHelper));
            Logger.Debug("Debug message");
            Logger.Warn("Warn message");
            Logger.Error("Error message");
            Logger.Fatal("Fatal message");
        }
    }
    

    我还添加了一行

    log4net.Config.XmlConfigurator.Configure();
    

    要在全局中启动Application\u。尽快。cs公司

    然而,构造函数中的日志都不起作用,我对它为什么不起作用的想法也不多了。

    2 回复  |  直到 8 年前
        1
  •  2
  •   bresleveloper    8 年前

    确保运行应用程序的用户对目标文件夹具有写入权限。

    我总是通过添加 everyone 并重新启动池。如果有效,您知道这是权限问题,否则请检查代码/配置。

        2
  •  2
  •   Ali Umair    8 年前

    您使用的是哪个版本?这是我网站上的设置。配置

        <log4net>
        <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
            <param name="File" value="Log.txt" />
            <param name="AppendToFile" value="true" />
            <rollingStyle value="Size" />
            <maxSizeRollBackups value="30" />
            <maximumFileSize value="15MB" />
            <staticLogFileName value="true" />
            <layout type="log4net.Layout.PatternLayout">
                <!--<conversionPattern value="%-5p %d %5rms [%thread] %-22.22c{1} %-18.18M - %m%n" />-->
                <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
            </layout>
        </appender>
        <root>
            <!-- Options are "ALL", "DEBUG", "INFO", "WARN", "ERROR", "FATAL" and "OFF". -->
            <level value="ALL" />
            <appender-ref ref="RollingFileAppender" />
        </root>
    </log4net>