无法写入 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中启用内部日志记录的类似线程和说明
将此添加到应用设置
<?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>