所以我试图在我的Web .NET 4.0应用程序中设置Log4Net。我已将正确的.dll添加到我的项目中,并将以下内容作为初学者添加到我的Web.Config文件中:
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</configSections>
<log4net debug="true">
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\\TestProj\\TestLog.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" />
</layout>
</appender>
但是,如果我将“log4net”部分附加到Web.Config,我将收到错误消息
无法在Web服务器上启动调试。请参阅常见帮助 配置问题.....
确保服务器正常运行。验证没有语法 web.config中的错误........
注意 我可以删除本节的所有内部内容,只留下声明:
<log4net></log4net>
我仍会得到同样的错误。
有人可以给我一些关于如何追踪这个错误的指示吗?
答案 0 :(得分:15)
对于不确定如何开始关注的开发人员可能会提供帮助
app.config中的ConfigSections
请记住告诉您的应用程序库正在引入自定义配置部分您打算使用它,我不完全确定它是否是强制性的但我总是将其用作根<configuration>
中的第一部分标签
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
app.config中的log4net配置
log4net中有很多种不同的appender,但我通常使用RollingFileAppender,所以我在这个示例中使用了相同的一个,你可以找到其余的here。
<log4net>
<!-- file appender -->
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:/logs/my_log_file.log"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<maxSizeRollBackups value="30"/>
<datePattern value=".yyyy-MM-dd"/>
<staticLogFileName value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
</layout>
</appender>
<root>
<level value="DEBUG"/>
<appender-ref ref="RollingFileAppender"/>
</root>
</log4net>
更新AssemblyInfo.cs文件
每当我必须创建一个新项目时,我总是会错过这一步。所以请记住,您必须告诉应用程序注意XMLConfigurator
执行log4net的配置,因此以下行将在AssemblyInfo.cs文件的末尾进行:
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
开始使用
请记住包含log4net.dll的引用,然后使用以下代码行来初始化类中的记录器
private static ILog log = LogManager.GetLogger(typeof(MyClass));
最后让我们像下面那样使用它
log.Info("Hello log4net");
快乐记录:)
答案 1 :(得分:1)
查看log4net documentation主页上的示例配置 你可能错放了所需的标签。