gpt4 book ai didi

.net - Log4net 不会登录到控制台(WinForms 应用程序)

转载 作者:行者123 更新时间:2023-12-03 15:09:42 25 4
gpt4 key购买 nike

我刚刚开始使用 Log4Net 库并且在配置它时遇到了问题。我不需要什么特别的。我将它用于 Winforms 应用程序,需要基本的文件和控制台日志记录。为了尽可能简单,我使用 App.config 进行配置,并使用从 Log4Net 项目网站获取的默认值:
应用程序配置:

<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="ProjectFolder" value="D:\Documents\my documents\Themis\Projects"/>
</appSettings>
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="ThemisLog.txt" />
<param name="AppendToFile" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="Header" value="[Header]\r\n" />
<param name="Footer" value="[Footer]\r\n" />
<param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
</layout>
</appender>

<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
<layout type="log4net.Layout.PatternLayout">
<param name="Header" value="[Header]\r\n" />
<param name="Footer" value="[Footer]\r\n" />
<param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
</layout>
</appender>

<root>
<level value="DEBUG" />
<appender-ref ref="LogFileAppender" />
<appender-ref ref="ConsoleAppender" />
</root>
</log4net>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

程序类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using log4net;
using log4net.Config;

[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace Themis
{
static class Program
{
private static readonly ILog log = LogManager.GetLogger(typeof(Program));

/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
log4net.Config.XmlConfigurator.Configure();

log.Debug("Enter application");
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new OldFrmMain());
log.Debug("Exit application");
}
}
}

已创建日志文件并在其中创建日志,但不会发生控制台日志记录。

最佳答案

你要的不是ConsoleAppender但是 TraceAppender .

该名称可能会令人困惑,但 TraceAppender 是在 Visual Studio 的“输出”窗口中写入的。

样本:

<log4net>
<appender name="TraceAppender" type="log4net.Appender.TraceAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d [%t] %-5p %c %m%n"/>
</layout>
</appender>

<root>
<level value="ALL"/>
<appender-ref ref="TraceAppender"/>
</root>
</log4net>

关于.net - Log4net 不会登录到控制台(WinForms 应用程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5764159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com