gpt4 book ai didi

c# - 在 Visual Studio 2010 中为 RavenDB 配置/安装 log4net

转载 作者:行者123 更新时间:2023-11-30 18:01:52 25 4
gpt4 key购买 nike

我正在尝试配置我的 C# 项目以使用 log4net for RavenDB .我已经让 log4net 使用 FileAppender,但 RavenAppender 现在似乎无法正常工作。以下是我目前采取的步骤:

第 1 步:安装 log4net.Raven

我使用以下 NuGet 包管理器控制台说明(取自上面链接的包网站)安装了 log4net.Raven 库:

Install-Package log4net.Raven

该命令将 log4net.Raven 库添加到我的项目引用中。

第二步:配置Web.config

在我的 Web.config 文件中,我有以下设置,其中大部分是从 log4net.Raven project on GitHub 的自述文件中复制和粘贴的(log4net.Raven 的所有者也有类似的 configuration settings published on his blog ):

<!-- Example connection string config from blog -->
<configsections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net">
</configsections>
<connectionstrings>
<add connectionstring="Url=http://raven; DefaultDatabase=Log" name="RavenLogs">
<add connectionstring="Url=http://localhost:8080;user=asa;password=asa" name="SecureRaven">
</add>
</add>
</connectionstrings>

<!-- My current config -->
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<connectionStrings>
<add name="RavenDB" connectionString="Url=http://localhost:8080;Database=MyDatabase" />
</connectionStrings>

<!-- Example log4net config from README.
My project uses these settings except for the connectionString value,
which is set to "RavenDB" to match the setting name above.
-->
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<!-- LogFileAppender settings here -->
</appender>
<appender name="RavenAppender" type="log4net.Raven.RavenAppender">
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="INFO" />
<levelMax value="FATAL" />
</filter>
<connectionString value="RavenDB"/>
<maxNumberOfRequestsPerSession value="100"/>
<bufferSize value="50" />
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="ERROR" />
</evaluator>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="LogFileAppender" />
<appender-ref ref="RavenAppender" />
</root>
</log4net>

第 3 步:从 C# 代码登录

在我的 C# 代码中,我有以下内容:

public class FooController : Controller
{
private static ILog _log = LogManager.GetLogger(typeof(FooController));

public ActionResult Index()
{
_log.Info("Hello World!");
return View("Index");
}
}

该代码将写到我工作站上的日志文件中,因此我知道 log4net 通常工作正常。但是对于 RavenDB,我一直在 Web 浏览器中通过 Raven studio 检查 MyDatabase 的文档和日志,但我没有看到任何带有消息“Hello World”的信息级别日志。

有没有人知道问题可能是什么以及如何解决?

最佳答案

可能是这里的问题:

<appender name="LogFileAppender" type="log4net.Appender.FileAppender">

如果你的项目中没有名为 FileAppender 的类,你需要在 FileAppender 所在的位置添加库名称,例如:

<appender name="LogFileAppender"
type="log4net.Appender.FileAppender, log4net.Raven">

(类型的语法是="完全限定的类名,程序集文件名,版本,文化,公钥 token ")

关于c# - 在 Visual Studio 2010 中为 RavenDB 配置/安装 log4net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8648663/

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