无法写入 log4net 中的日志文件

本文关键字:日志 文件 log4net | 更新日期: 2024-11-09 03:17:03

嗨,我在我的Windows应用程序中使用log4net,以下是我的app.confige文件的内容。 我的 app.confige 文件中有两个标签,我需要它们在我的应用程序中工作。但问题是,如果我在这种情况下同时包含这两个标签,我的日志不会在应用程序.log文件中创建,而如果我仅注释运行时和程序集标记,则日志将在应用程序.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>

无法写入 log4net 中的日志文件

就个人而言,存在一些与处理前两个标签的逻辑相关的错误。建议您在初始化 log4net 的位置进行调试。

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

这是有关如何在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>