ASP.NET 配置log4net启用写错误日志功能

发布时间:2021-08-02 22:37 来源:https://blog.51cto.com/u_15311 阅读:55 作者:皮尔兄弟 栏目: 云计算 欢迎投稿:712375056

<?xml version="1.0"?> <configuration> <configSections> <section type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </configSections> <log4net> <!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL --> <!-- Set root logger level to ERROR and its appenders --> <root> <level value="ALL"/> <appender-ref ref="SysAppender"/> </root> <!-- Print only messages of level DEBUG or above in the packages --> <logger> <level value="ALL"/> </logger> <appender type="log4net.Appender.RollingFileAppender,log4net" > <param value="Logger/" /> <param value="true" /> <param value="Date" /> <param value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" /> <param value="false" /> <layout type="log4net.Layout.PatternLayout,log4net"> <param value="%d [%t] %-5p %c - %m%n" /> <param value="&#13;&#10;----------------------header--------------------------&#13;&#10;" /> <param value="&#13;&#10;----------------------footer--------------------------&#13;&#10;" /> </layout> </appender> </log4net> </configuration>

using System; using System.Collections.Generic; using System.Web; using log4net; using System.Configuration; namespace testWeb { /// <summary> ///错误记录日志 /// </summary> public class MyLog4NetInfo { private static readonly log4net.ILog log = log4net.LogManager.GetLogger("WebLogger"); public MyLog4NetInfo() { } private static void SetConfig() { object o = ConfigurationManager.GetSection("log4net"); log4net.Config.XmlConfigurator.Configure(o as System.Xml.XmlElement); } public static void LogInfo(string Message) { if (!log.IsInfoEnabled) SetConfig(); log.Info(Message); } public static void LogInfo(string Message, Exception ex) { if (!log.IsInfoEnabled) SetConfig(); log.Info(Message, ex); } public static void ErrorInfo(string Message) { if (!log.IsInfoEnabled) SetConfig(); log.Error(Message); } public static void DebugInfo(string Message) { if (!log.IsInfoEnabled) SetConfig(); log.Debug(Message); } } }

using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace testWeb { public partial class log4netTest : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { } } protected void Button1_Click(object sender, EventArgs e) { MyLog4NetInfo.LogInfo("错误日志test"); MyLog4NetInfo.LogInfo("错误日志test"); MyLog4NetInfo.DebugInfo("错误日志test"); } } }

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", ConfigFileExtension = "config", Watch = true)]

log4net-1.2.11-bin-newkey.zip[编译好的dll文件]

 

给予我很大的帮助。

首先我们到apche的官网下载log4net的项目编译得到log4net也可以下载编译好的.dll文件直接引用。下载主页地址

感谢

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="log4netTest.aspx.cs" Inherits="testWeb.log4netTest" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <body> <form runat="server"> <asp:Button runat="server" Text="Button" /> </form> </body> </html>

 

第三步

// 日志组件配置

在文件AssemblyInfo.cs加入一句代码,AssemblyInfo.cs的路径所在Properties目录下

5创建一个测试aspx页面log4netTest.aspx

测试结果已经完毕

加入的代码如下:

然后我们在webconfig里面开始配置log4net

log4net-1.2.11-src.zip[这是log4net项目,下载自己编译就得到了loge4net.dll]

然后我们开始写一个公共类来封装方法来调用log4net

免责声明:本站发布的内容(图片、视频和文字)以原创、来自本网站内容采集于网络互联网转载等其它媒体和分享为主,内容观点不代表本网站立场,如侵犯了原作者的版权,请告知一经查实,将立刻删除涉嫌侵权内容,联系我们QQ:712375056,同时欢迎投稿传递力量。