如何在我的 log4net 配置中设置 maxSizeRollBackups 和 maximumFileSize 属性?
How can I set the maxSizeRollBackups and maximumFileSize properties in my log4net configuration?
我有一个 ASP.NET 核心 Web 应用程序,它通过 Nuget 添加了 log4net 2.0.8 并使用此配置文件进行了初始化:
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<appender name="RollingFileAppenderInfo" type="log4net.Appender.FileAppender">
<file type="log4net.Util.PatternString" value="Logs\mysite-dev-%utcdate{yyyy-MM-dd}-info.log" />
<maxSizeRollBackups value="500" />
<maximumFileSize value="5MB" />
<threshold value="DEBUG"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d [%t] %-5p - %m%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG" />
<levelMax value="INFO" />
</filter>
<filter class="log4net.Filter.DenyAllFilter"/>
</appender>
<appender name="RollingFileAppenderError" type="log4net.Appender.FileAppender">
<file type="log4net.Util.PatternString" value="Logs\mysite-dev-%utcdate{yyyy-MM-dd}-errors.log" />
<maxSizeRollBackups value="500" />
<maximumFileSize value="5MB" />
<threshold value="WARN"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="WARN" />
<levelMax value="ERROR" />
</filter>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingFileAppenderInfo" />
<appender-ref ref="RollingFileAppenderError" />
</root>
</log4net>
这是在 Startup
中初始化的,如下所示:
loggerFactory.AddLog4Net($"log4net.{env.EnvironmentName}.config");
这使用 a solution I found 在 ASP.NET Core 中连接 log4net。显然,上面的配置有几个版本,名为 log4net.Development.config 等,但它们都非常相似。当我在 Visual Studio 本地 运行 时,我在输出 windows 中看到以下错误:
log4net:ERROR XmlHierarchyConfigurator: Cannot find Property
[maxSizeRollBackups] to set object on [log4net.Appender.FileAppender]
log4net:ERROR XmlHierarchyConfigurator: Cannot find Property
[maximumFileSize] to set object on [log4net.Appender.FileAppender]
这些错误只是内部错误,似乎不会影响 运行ning 应用程序。但我需要能够配置这些 log4net 属性。那么如何在我的 log4net 配置中设置 maxSizeRollBackups
和 maximumFileSize
属性呢?我做错了什么吗?
属性不是 FileAppender 的一部分,试试 RollingFileAppender。那就是你需要的 appender:
type="log4net.Appender.RollingFileAppender"
我有一个 ASP.NET 核心 Web 应用程序,它通过 Nuget 添加了 log4net 2.0.8 并使用此配置文件进行了初始化:
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<appender name="RollingFileAppenderInfo" type="log4net.Appender.FileAppender">
<file type="log4net.Util.PatternString" value="Logs\mysite-dev-%utcdate{yyyy-MM-dd}-info.log" />
<maxSizeRollBackups value="500" />
<maximumFileSize value="5MB" />
<threshold value="DEBUG"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d [%t] %-5p - %m%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG" />
<levelMax value="INFO" />
</filter>
<filter class="log4net.Filter.DenyAllFilter"/>
</appender>
<appender name="RollingFileAppenderError" type="log4net.Appender.FileAppender">
<file type="log4net.Util.PatternString" value="Logs\mysite-dev-%utcdate{yyyy-MM-dd}-errors.log" />
<maxSizeRollBackups value="500" />
<maximumFileSize value="5MB" />
<threshold value="WARN"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="WARN" />
<levelMax value="ERROR" />
</filter>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingFileAppenderInfo" />
<appender-ref ref="RollingFileAppenderError" />
</root>
</log4net>
这是在 Startup
中初始化的,如下所示:
loggerFactory.AddLog4Net($"log4net.{env.EnvironmentName}.config");
这使用 a solution I found 在 ASP.NET Core 中连接 log4net。显然,上面的配置有几个版本,名为 log4net.Development.config 等,但它们都非常相似。当我在 Visual Studio 本地 运行 时,我在输出 windows 中看到以下错误:
log4net:ERROR XmlHierarchyConfigurator: Cannot find Property [maxSizeRollBackups] to set object on [log4net.Appender.FileAppender]
log4net:ERROR XmlHierarchyConfigurator: Cannot find Property [maximumFileSize] to set object on [log4net.Appender.FileAppender]
这些错误只是内部错误,似乎不会影响 运行ning 应用程序。但我需要能够配置这些 log4net 属性。那么如何在我的 log4net 配置中设置 maxSizeRollBackups
和 maximumFileSize
属性呢?我做错了什么吗?
属性不是 FileAppender 的一部分,试试 RollingFileAppender。那就是你需要的 appender:
type="log4net.Appender.RollingFileAppender"