【问题标题】:can not write to log file in log4net无法写入 log4net 中的日志文件
【发布时间】:2012-08-07 06:28:58
【问题描述】:

您好,我在我的 Windows 应用程序中使用 log4net,以下是我的 app.confige 文件的内容。我的 app.confige 文件中有两个标签,我需要它们都可以在我的应用程序中工作。但问题是,如果我在这种情况下包含两个标签,我的日志不会在 application.log 文件中创建,而如果我只评论运行时和程序集标签,那么日志会在 application.log 文件中创建,但当我注释掉时运行时和程序集标签我无法为应用程序实现其他功能。

请帮助我找到解决方案。

  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
  </configSections>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <probing privatePath="bin"/>
    </assemblyBinding>
  </runtime>
  <assemblies>
    <add assembly="ImageGear19.Core"/>
  </assemblies>
  <!--The settings below are required for Logging-->
  <log4net>
    <appender name="Application" type="log4net.Appender.RollingFileAppender">
      <file value="Application.log"/>
      <appendToFile value="true"/>
      <maxSizeRollBackups value="10"/>
      <maximumFileSize value="2 MB"/>
      <rollingStyle value="Size"/>
      <staticLogFileName value="true"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date[%thread](%-5level): %message%newline"/>
      </layout>
    </appender>
    <logger name="Application">
      <level value="All"/>
      <appender-ref ref="Application"/>
    </logger>
  </log4net>

【问题讨论】:

    标签: c# log4net


    【解决方案1】:

    就个人而言,处理前两个标签的逻辑存在一些错误。鼓励您在 log4net 初始化时进行调试。

    【讨论】:

    • 你能写更多细节吗?
    【解决方案2】:

    调试 log4net 的最佳方法是启用其内部错误日志记录。这会记录它所做的所有事情,并帮助您追溯问题所在。

    这里有一个类似的thread 以及关于如何在 log4net 中启用内部日志记录的说明

    将此添加到您的应用设置中

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <appSettings>
            <add key="log4net.Internal.Debug" value="true"/>
        </appSettings>
    </configuration>
    

    并将其添加到 web.config 的底部

    <configuration>
        ...
        <system.diagnostics>
            <trace autoflush="true">
                <listeners>
                    <add 
                        name="textWriterTraceListener" 
                        type="System.Diagnostics.TextWriterTraceListener" 
                        initializeData="C:\temp\log4net.txt" />
                </listeners>
            </trace>
        </system.diagnostics>
        ...
    </configuration>
    

    【讨论】:

      猜你喜欢
      • 2023-03-31
      • 2016-05-08
      • 2012-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多