Log4Net不在Asp.Net Core 3.1 API中的bin文件夹中创建日志

问题描述 投票:0回答:1

我正在尝试使用Asp.NEt Core 3.1 API编写日志。但它没有写入bin文件夹。而是在项目目录的Temp文件夹中创建了日志文件。

Microsoft.Extensions.Logging.Log4Net.AspNetCore版本3.1.0

log4net.config

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
  <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
    <file value="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>

Startup.cs

public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
        {
            loggerFactory.AddLog4Net();
}
c# asp.net-core log4net asp.net-core-3.1
1个回答
0
投票

此行将文件夹设置为Temp:<file value="Temp\" />

相对于应用程序的bin,将其更改为bin文件夹的完整路径或working directory文件夹的路径。

例如:.\.\bin\

默认情况下,Visual Studio将运行您的项目并将working directory设置为项目路径。

在项目设置上的“调试”部分,您可以手动覆盖working directory进行bin,也可以将启动模式从Project更改为Executable,然后在bin文件夹中选择可执行文件。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.