c# - 使用 ASP.NET Core 2.2 写入文件的 Log4Net
问题描述
在我的 ASP.NET Core 2.2 应用程序中,我安装了Microsoft.Extensions.Logging.Log4Net.AspNetCore
在启动.cs
public class Startup
{
private readonly ILogger _logger;
public Startup(IConfiguration configuration, ILogger<Startup> logger)
{
Configuration = configuration;
_logger = logger;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
....
.....
_logger.LogInformation("Added TodoRepository to services");
.....
.....
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env,
UserManager<User> userManager, RoleManager<Role> roleManager,
ILoggerFactory loggerFactory)
{
....
loggerFactory.AddLog4Net();
....
}
在我的家庭控制器中
public IActionResult Index()
{
_logger.LogInformation("Home Index page");
_logger.LogWarning("Home Index page");
_logger.LogError("Home Index page");
_logger.LogDebug("Home Index page");
return View();
}
我看到日志显示在 Visual Studio 输出窗口中,但这并没有写入任何文件。
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="C:\Temp\WebAppFolder" />
<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>
解决方案
您的datePattern
值似乎格式不正确。那里不应该有那个.txt
。file
此外,您需要使用要登录的文本文件的完整路径填写值。
推荐阅读
- java - 如何在我的 RPG 游戏中回到某个检查点?
- kubernetes - 如果我想让它与 aws EKS 一起使用,应该为 iam 用户分配什么策略
- javascript - 将滚动事件监听器添加到 GatsbyJS (ReactJS) 中的文档
- docker - 为什么我必须删除 docker 容器?
- python - Python 创建的 tar.gz 文件包含“_”文件夹,如何删除?
- javascript - 为什么这个 if 语句不起作用?
- python - Django表单值在视图中没有改变
- mysql - 如何加快或改进此查询?
- java - 我无法读取 .txt 中的所有数字
- javascript - 使文本输入只接受正确的人名