Answers:
首先,您必须在应用程序配置文件上设置此值:
<configuration>
<appSettings>
<add key="log4net.Internal.Debug" value="true"/>
</appSettings>
</configuration>
然后,要确定要将输出保存到的文件,可以在同一.config文件中添加以下代码:
<configuration>
...
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add
name="textWriterTraceListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="C:\tmp\log4net.txt" />
</listeners>
</trace>
</system.diagnostics>
...
</configuration>
您可以在“如何启用log4net内部调试?”下找到更详细的说明。在log4net FAQ页面中。
C:\tmp\log4net.txt
为C:\log4net.txt
,然后可以生成文本文件。
<configSections></configSections>
是下的第一个条目<configuration>
。否则,您将最终出错。
traceOutputOptions="TimeStamp"
和标签,但日志文件内容未更改。有人知道如何设置log4net来显示跟踪日志文件中每行/每个条目的时间吗?traceOutputOptions="DateTime"
add
确保入口点所在的根应用程序将某些内容记录到log4net。给它之一:
private static ILog logger = LogManager.GetLogger(typeof(Program));
static void Main(string[] args)
{
logger.InfoFormat("{0} v.{1} started.", Assembly.GetExecutingAssembly().GetName().Name, Assembly.GetExecutingAssembly().GetName().Version.ToString());
使用2.0.8时,我遇到了一个有趣的情况。我创建了一个库项目和一个测试exe项目,以演示其功能。库项目被设置为与exe项目一样使用Log4net。exe项目使用assemblyinfo属性注册了配置,但是我没有将日志记录输出到控制台或日志文件。当我打开log4net内部调试日志记录时,我收到了一些写入控制台的内部消息,但是仍然没有我的普通日志。没有错误被报告。当我将上述代码添加到程序中时,一切都开始工作。Log4net否则已正确设置。