我正在尝试使用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();
}
此行将文件夹设置为Temp:<file value="Temp\" />
。
相对于应用程序的bin
,将其更改为bin
文件夹的完整路径或working directory
文件夹的路径。
例如:.\
或.\bin\
默认情况下,Visual Studio将运行您的项目并将working directory
设置为项目路径。
在项目设置上的“调试”部分,您可以手动覆盖working directory
进行bin,也可以将启动模式从Project
更改为Executable
,然后在bin文件夹中选择可执行文件。