我理解 log4net 为什么使用 app.config
文件来设置日志记录-这样你就可以轻松地改变信息的记录方式,而不需要重新编译你的代码。但是在我的例子中,我不想用可执行文件打包 app.config
文件。我也不想修改我的日志设置。
有没有一种方法可以让我在代码中设置日志,而不是使用 app.config
?
下面是我的简单配置文件:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="Logs\EventLog.txt" />
<appendToFile value="false" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" />
<maximumFileSize value="1GB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
</appender>
<appender name="MemoryAppender" type="log4net.Appender.MemoryAppender">
</appender>
<root>
<level value="Info" />
<appender-ref ref="RollingLogFileAppender" />
<appender-ref ref="MemoryAppender" />
</root>
</log4net>
</configuration>
编辑:
要完全清楚: 我的目标是没有 XML 文件。即使是作为一个嵌入式资源,我把它变成一个流。我的目标是完全以编程方式定义日志记录器。只是好奇这是否可能,如果可能的话,我在哪里可以找到一个语法的例子。