gpt4 book ai didi

Log4NET 记录器类

转载 作者:行者123 更新时间:2023-12-02 03:07:10 25 4
gpt4 key购买 nike

我是 Log4Net 新手,在将我的应用程序日志消息记录到日志文件时遇到了一些问题。我认为 Web.config 文件配置有问题。这是我在 web.config 中的一个片段:

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

<log4net>
<root>
</root>

<logger name="Tomahawk" additivity="False">
<level value="ALL" />
<appender-ref ref="MyFileAppender" />
</logger>


<appender name="MyFileAppender" type="log4net.Appender.FileAppender">
<file value="application.log" />
<appendToFile value="true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %level %logger - %message%newline" />
</layout>
</appender>

</log4net>

此外,我在 AssemblyInfo.cs 中包含了以下行:

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

在 C# 代码中,所有我做的是这样的:

ILog log = LogManager.GetLogger("Tomahawk");
log.info("Some debug info...");

但是没有任何反应。日志文件中未记录任何内容。

有人知道这个问题吗?

最佳答案

尝试以下操作:

第 1 步 - 创建一个名为 log4net.config

的单独文件

第 2 步 - 从您的 xml 中删除这些行

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

第 3 步 - 配置与此类似的根部分:

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

第 4 步 - 在您的 Program.cs 中包括:

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

第 5 步 - 在您的 Startup.cs 类中让您的记录器使用这个全局变量

private static ILog log = LogManager.GetLogger(typeof(Startup));

第 6 步 - 在Configure 方法中记录您的信息消息,如下所示

if (env.IsDevelopment())
{
log.Info("Yeap! We are in development now! That's great!");

app.UseDeveloperExceptionPage();
}

第 7 步 - 打开您的 application.log 文件并Voilà!!

关于Log4NET 记录器类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41979835/

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