【发布时间】:2019-01-28 20:49:26
【问题描述】:
我正在开发一个 .net core 2.1 应用程序并尝试合并 log4net 以将日志写入文件。我可以让它工作,但不知道如何写入日志将位于不同位置的不同环境(即测试/生产)。
log4net.config
<log4net>
<root>
<appender-ref ref="console" />
<appender-ref ref="file" />
</root>
<appender name="console" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %level - %message%newline" />
</layout>
<threshold value="Info" />
</appender>
<appender name="file" type="log4net.Appender.RollingFileAppender">
<file value="C:\logs\TestLocation\MyLog.log" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" />
<maximumFileSize value="100MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %level - %message%newline" />
</layout>
<threshold value="Info" />
</appender>
</log4net>
我的startup.cs配置方法是:
loggerFactory.AddLog4Net();
我将记录器注入到我的控制器中:
public MyController(ILogger<MyController> logger)
{
_logger = logger;
}
并在我的控制器中使用它:
_logger.LogInformation("My logger worked!!!!!!!!!!!");
这一切都很好。我希望我可以添加一个新的 log4net.config 文件并将其命名为 log4net.Production.config,并且应用程序将根据其所处的环境使用不同的配置文件,例如 appnsettings.json。相反,它只使用我的默认 log4net.config 文件。
是否可以为每个环境创建多个 log4net.config 文件,例如 appsettings.json?
【问题讨论】:
标签: c# .net-core log4net .net-core-2.1