我在asp中配置log4net.本文中提到的NETCore2.0应用程序LINK

program.cs

public static void Main(string[] args)
{
    var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly());
    XmlConfigurator.Configure(logRepository, new FileInfo("log4net.配置"));

    BuildWebHost(args).Run();
}

家庭控制器

public class 家庭控制器 : Controller
{
    private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof(家庭控制器));

    public IActionResult Error()
    {
        log.Info("Hello logging world!");
        return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
    }
}

log4net.配置

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <log4net>
    <root>
      <level value="ALL" />
      <appender-ref ref="RollingFile" />
    </root>
    <appender name="RollingFile" type="log4net.Appender.FileAppender">
      <file value="‪C:\Temp\app.log" /> 
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%-5p %d{hh:mm:ss} %message%newline" />
      </layout>
    </appender>
  </log4net>
</configuration>

不幸的我没有看到在中生成的任何文件‪C:\Temp\app.log号目录.会是什么错误?如何为asp配置log4net.net core 2.0?

推荐答案

我使用以下代码成功地记录了一个文件

public static void Main(string[] args)
{
    XmlDocument log4netConfig = new XmlDocument();
    log4netConfig.Load(File.OpenRead("log4net.config"));
    var repo = log4net.LogManager.CreateRepository(Assembly.GetEntryAssembly(),
               typeof(log4net.Repository.Hierarchy.Hierarchy));
    log4net.Config.XmlConfigurator.Configure(repo, log4netConfig["log4net"]);

    BuildWebHost(args).Run();
}

log4net.在网站根目录中配置

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
  <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
    <file value="C:\Temp\" />
    <datePattern value="yyyy-MM-dd.'txt'"/>
    <staticLogFileName value="false"/>
    <appendToFile value="true"/>
    <rollingStyle value="Date"/>
    <maxSizeRollBackups value="100"/>
    <maximumFileSize value="15MB"/>
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level App  %newline %message %newline %newline"/>
    </layout>
  </appender>
    <root>
      <level value="ALL"/>
      <appender-ref ref="RollingLogFileAppender"/>
    </root>
</log4net>

Asp.net相关问答推荐

try 在 .net 中使用 MS Graph 添加新的应用程序角色时出现 ODataError

域名 + 子域名在IIS部署

C# - 将 xyz 平铺转换为纬度/经度,反之亦然,给出不同的结果

如何删除字符串的定义部分?

我可以在 .net 核心中使用 Entity Framework 6(非核心)吗?

jquery 1.9.0 和 modernizr 无法使用 ASP.NET Web 优化框架进行缩小

如何从 web.config 中读取系统值并在 ASP.NET MVC C# 方法中使用

发布发布事件

是否可以在 web.config 中添加响应 http 标头?

如何将枚举类型绑定到 DropDownList?

为应用程序池Classic .NET AppPool提供服务的进程与 Windows 进程激活服务发生了致命的通信错误

在生产中使用 LocalDb 是否正常?

在 aspnetcore (netcoreapp1.0) 中替代 System.Web.Security.Membership.GeneratePassword

单击按钮时播放哔声

将查询参数绑定到 ASP.NET Core 中的模型

如何获取当前登录用户的角色列表

如何进入 IIS 管理器?

人们使用 JScript.Net 的目的是什么?

如何使用实体框架执行原始 SQL 查询而无需使用模型?

在 ASP.NET 中写入文件以响应后回发不起作用