我剛開始使用Log4Net庫並在配置時遇到問題。我不需要任何特別的東西。我將它用於Winforms應用程序,並且需要基本的文件和控制檯日誌記錄。爲了保持儘可能簡單,我使用的是App.config中配置和使用來自log4net的項目網站採取了默認值: 的App.config:Log4net將不會登錄到控制檯(WinForms應用程序)
<?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>
Program類:
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");
}
}
}
創建日誌文件並創建日誌,但不會發生控制檯日誌記錄。
Yoav,有幫助嗎?我回答了你的問題嗎? – Dennis 2011-04-25 13:19:10
我可以證明控制檯記錄器在WinForms應用程序中工作。但是,它只適用於從Visual Studio開始調試時,因爲它提供了一個控制檯窗口(我相信它被稱爲Output)。 – IAmTimCorey 2011-05-03 16:25:20