[英]Configuring/Installing log4net for RavenDB in Visual Studio 2010
我正在嘗試配置我的C#項目以將log4net用於RavenDB 。 我已經有log4net使用FileAppender,但RavenAppender現在似乎沒有工作。 以下是我到目前為止所采取的步驟:
我使用以下NuGet Package Manager控制台指令安裝了log4net.Raven庫(取自上面鏈接的包網站):
Install-Package log4net.Raven
該命令將log4net.Raven庫添加到我的項目引用中。
在我的Web.config文件中,我有以下設置,其中大部分都是從GitHub上的log4net.Raven項目的README文件中復制和粘貼的( log4net.Raven的所有者也在他的博客上發布了類似的配置設置 ):
<!-- 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>
在我的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工作室檢查MyDatabase的文檔和日志,我沒有看到任何帶有“Hello World”消息的Info級別日志。
有沒有人知道問題可能是什么以及如何解決?
可能問題出在這里:
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
如果您的項目中沒有名為FileAppender的類,則需要在FileAppender中添加庫名,例如:
<appender name="LogFileAppender"
type="log4net.Appender.FileAppender, log4net.Raven">
(type的語法是=" Fully qualified class name , assembly file name , version , culture , public key token "
)
嘗試調試log4net,如Log4Net疑難解答如果你找到這一行:
log4net: Adding appender named [RavenAppender] to logger [root].
RavenAppender正在工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.