gpt4 book ai didi

c# - 为什么 log4net 不写入文件?

转载 作者:太空狗 更新时间:2023-10-30 00:20:13 25 4
gpt4 key购买 nike

我已经添加了 log4net 的所有部分,但是它没有写入文件。
我正在处理 VS2012 LoadTest 项目。

在运行 LoadTest 项目时,System.Console.WriteLineDebug.WriteLine() 都不起作用。

我添加了装配信息行:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "web.config", Watch = true)]   //For log4net 1.2.10.0

我已经:
- 添加了 webconfig 部分
- 初始化并配置了一个 XML 初始化器
- 使用正确的日志初始化新的 log4net

我的应用程序配置:

  <configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>

<log4net debug="true">
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="Settings_CacheExplosion.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" />
</layout>
</appender>

<root>
<level value="DEBUG" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>

</configuration>

我的类(class):

//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.17929
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace WebAndLoadTestProject1
{
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;
using log4net;
using log4net.Core;
using Microsoft.VisualStudio.TestTools.WebTesting;


public class Settings_CacheExplosion : WebTest
{
private static readonly ILog activityLog = LogManager.GetLogger("Activity");

private static int _ctidsCounter { get; set; }

public static int CtidsCounter
{

get
{

if (_ctidsCounter == 2000)
{
_ctidsCounter = 1000;
}
return _ctidsCounter++;
}
set
{
_ctidsCounter = value;
}
}

public Settings_CacheExplosion()
{
this.PreAuthenticate = true;

CtidsCounter = 1000;

log4net.Config.XmlConfigurator.Configure();
}


public override IEnumerator<WebTestRequest> GetRequestEnumerator()
{
WebTestRequest request1 = new WebTestRequest("http://clientservice.mam.qasite-services.com/settings");

request1.Method = "POST";

Debug.WriteLine(string.Format("ctid={0}", CtidsCounter));

request1.QueryStringParameters.Add("ctid", CtidsCounter.ToString(), false, false);
StringHttpBody request1Body = new StringHttpBody();
request1Body.ContentType = "";
request1Body.InsertByteOrderMark = false;
request1Body.BodyString = "";
request1.Body = request1Body;

activityLog.Debug(string.Format("ctid={0}", CtidsCounter));
//Console.WriteLine(string.Format("ctid={0}", CtidsCounter));

yield return request1;
request1 = null;
}
}
}

最佳答案

如果您希望 log4net 从 app.config 中读取,您必须将其添加到您的 AssemblyInfo.cs 文件中:

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

关于c# - 为什么 log4net 不写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13236091/

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