首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在非ASP.NET dotnet核心应用程序中使用Microsoft.Extensions.Logging

如何在非ASP.NET dotnet核心应用程序中使用Microsoft.Extensions.Logging
EN

Stack Overflow用户
提问于 2017-09-08 14:20:33
回答 1查看 1.1K关注 0票数 0

有很多使用Microsoft.Extensions.Logging登录ASP.NET dotnet核心应用程序的示例代码。

但是如何在不是ASP.NET应用程序- dotnet核心库或控制台应用程序中使用Microsoft.Extensions.Logging将日志写入文件?

EN

回答 1

Stack Overflow用户

发布于 2017-09-08 14:26:09

我使用log4net。它易于配置和使用,并允许您区分日志记录:调试、错误等。

您可以使用Nuget安装它。

web.config/app.config中的配置如下所示:

代码语言:javascript
复制
<log4net>
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
      </layout>
    </appender>
    <appender name="FileAppender" type="log4net.Appender.FileAppender">
      <file value="C:\MyApp\log.txt" />
      <appendToFile value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%ndc] %method %stacktrace - %message%newline" />
      </layout>
    </appender>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="ConsoleAppender" />
      <appender-ref ref="FileAppender" />
    </root>

在这里,日志保存到: C:\MyApp\log.txt

然后将其放入您的Application_Start方法中:

代码语言:javascript
复制
log4net.Config.XmlConfigurator.Configure();

然后在你的代码中这样做:

代码语言:javascript
复制
using log4net;
using log4net.Config;

public class MyClass 
    {
        private static readonly ILog log = LogManager.GetLogger(typeof(MyClass));

public void MyMethod()
{
  try
  {
      //Do something e.g. connect to database
  }
  catch (Exception e)
  {
    log.Info(e.ToString());
  }
}

}

请在此处查看更多信息:https://logging.apache.org/log4net/release/manual/configuration.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46109891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档