Asp.Net 使用Log4Net (基础版)
Asp.Net 使用Log4Net (基础版)
1. 创建项目
创建ASP.NET Web Forms项目 在Visual Studio中创建一个新的ASP.NET Web Forms项目。命名为"Log4NetDemo"。
2.安装Log4Net包
打开NuGet包管理器控制台,并运行以下命令来安装Log4Net:
mathematicaCopy code
Install-Package log4net
3. 添加Log4Net配置
在Web.config文件中添加Log4Net的配置。将以下内容粘贴到Web.config文件中。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!-- 配置节,用于Log4Net的配置 -->
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<!-- Log4Net配置 -->
<log4net debug="false">
<!-- 日志附加器:将日志记录到文件中 -->
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<!-- 文件路径及名称 -->
<param name="File" value="Log/AT.log"/>
<!-- 日志文件的日期格式 -->
<param name="datePattern" value="YY-MM-dd HH:mm"/>
<!-- 是否追加到文件尾部 -->
<param name="AppendToFile" value="true"/>
<!-- 日志记录格式 -->
<layout type="log4net.Layout.PatternLayout">
<!-- 日志记录的具体格式 -->
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
</layout>
</appender>
<!-- 另一个日志附加器:将日志记录到ASP.NET Trace中 -->
<appender name="HttpTraceAppender" type="log4net.Appender.ASPNetTraceAppender">
<!-- 日志记录格式 -->
<layout type="log4net.Layout.PatternLayout">
<!-- 日志记录的具体格式 -->
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
</layout>
</appender>
<!-- 另一个日志附加器:将日志记录到Windows事件日志中 -->
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
<!-- 日志记录格式 -->
<layout type="log4net.Layout.PatternLayout">
<!-- 日志记录的具体格式 -->
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
</layout>
</appender>
<!-- 另一个日志附加器:将日志记录到滚动文件中,按日期分割 -->
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<!-- 文件路径及名称 -->
<file value="log\AT"/>
<!-- 是否追加到文件尾部 -->
<appendToFile value="true"/>
<!-- 文件滚动的方式,按日期滚动 -->
<rollingStyle value="Date"/>
<!-- 滚动的日期格式 -->
<datePattern value="_yyyyMMdd'.log'"/>
<!-- 文件名中是否包含静态部分 -->
<staticLogFileName value="false"/>
<!-- 日志记录格式 -->
<layout type="log4net.Layout.PatternLayout">
<!-- 日志记录的具体格式 -->
<conversionPattern value="%d [%t] %-5p %c - %m%n"/>
</layout>
</appender>
<!-- 根日志记录器的配置 -->
<root>
<!-- 日志级别为INFO,记录INFO级别及以上的日志 -->
<level value="INFO"/>
<!-- 将日志附加到名为RollingLogFileAppender的附加器上 -->
<appender-ref ref="RollingLogFileAppender"/>
</root>
</log4net>
<!-- 其他ASP.NET应用程序配置 -->
<system.web>
<!-- 可在此处添加其他Web相关的配置 -->
</system.web>
</configuration>
4. 初始化Log4Net
在Global.asax文件中,我们需要初始化Log4Net。在Application_Start
事件中添加以下代码:
using log4net;
public class Global : System.Web.HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
log4net.Config.XmlConfigurator.Configure(); // Initialize Log4Net
// Other application startup code
}
}
5. 修改web.config 文件
?xml version="1.0" encoding="utf-8"?>
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net configSource="log4net.config"/>
<system.web>
<httpModules>
<!--重写IHttpModule类,需要配置的信息-->
<!--<add name="FilterModule" type="APESM_GGJ.FilterModule,APESM_GGJ" />-->
</httpModules>
<compilation debug="true" targetFramework="4.0" />
</system.web>
</configuration>
7. 使用Log4Net记录日志
现在,我们可以在ASP.NET应用程序的任何位置使用Log4Net来记录日志。创建一个简单的Web Form页面Default.aspx,并在Page_Load事件中添加以下代码:
using log4net;
public partial class _Default : System.Web.UI.Page
{
private static readonly ILog log = LogManager.GetLogger(typeof(_Default));
protected void Page_Load(object sender, EventArgs e)
{
log.Info("This is an information message.");
log.Warn("This is a warning message.");
log.Error("This is an error message.");
log.Fatal("This is a fatal error message.");
}
}
8. 查看日志
当你访问Default.aspx页面时,Log4Net将记录日志信息到指定的文件中。在这里,日志将被记录到"Log/AT.log"文件中。
请确保在Web应用程序的根目录下创建一个名为"Log"的文件夹,用于存储日志文件。你还可以根据需要进行其他配置更改,如日志级别或日志附加器等。
请注意,为了演示方便,我们只在Default.aspx页面的Page_Load事件中记录了日志,实际上,你可以在应用程序的其他地方记录日志,以便在必要时捕获并诊断问题。