ASP.NET 配置log4net启用写错误日志功能
http://www.cnblogs.com/yeminglong/archive/2013/05/21/3091192.html
首先我们到apche的官网下载log4net的项目编译得到log4net也可以下载编译好的.dll文件直接引用。下载主页地址http://logging.apache.org/log4net/download_log4net.cgi
log4net-1.2.11-bin-newkey.zip[编译好的dll文件]
log4net-1.2.11-src.zip[这是log4net项目,下载自己编译就得到了loge4net.dll]
然后我们在webconfig里面开始配置log4net
复制代码
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="log4net" 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 name="WebLogger">
<level value="ALL"/>
</logger>
<appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="File" value="Logger/" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value=""Logs_"yyyyMMdd".txt"" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
<param name="Header" value="
----------------------header--------------------------
" />
<param name="Footer" value="
----------------------footer--------------------------
" />
</layout>
</appender>
</log4net>
</configuration>
复制代码
第三步
在文件AssemblyInfo.cs加入一句代码,AssemblyInfo.cs的路径所在Properties目录下
加入的代码如下:
// 日志组件配置
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", ConfigFileExtension = "config", Watch = true)]
然后我们开始写一个公共类来封装方法来调用log4net
复制代码
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);
}
}
}
复制代码
5创建一个测试aspx页面log4netTest.aspx
复制代码
<%@ 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 ID="_aspNetForm" runat="server">
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</form>
</body>
</html>
复制代码
复制代码
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");
}
}
}
复制代码
测试结果已经完毕
感谢
http://www.okajax.com/a/200912/log4Net.html
http://www.cnblogs.com/chencidi/archive/2010/01/12/1645291.html
ASP.NET 配置log4net启用写错误日志功能的更多相关文章
- ASP.NET/MVC 配置log4net启用写错误日志功能
<?xml version="1.0" encoding="utf-8"?> <!-- 有关如何配置 ASP.NET 应用程序的详细信息,请访 ...
- 点滴积累【C#】---使用log4net组件记录错误日志(以文本形式记录)
效果: 描述: 利用log4net组件进行错误日志的记录,log4net记录错误的方式我所了解的有4种,No.1 文本形式记录日志,No.2存储到数据库形式记录日志,No.3控制台控制显示日志,No. ...
- Spring AOP 实现写事件日志功能
什么是AOP?AOP使用场景?AOP相关概念?Spring AOP组件?如何使用Spring AOP?等等这些问题请参考博文:Spring AOP 实现原理 下面重点介绍如何写事件日志功能,把日志保存 ...
- Atitit php java python nodejs错误日志功能的比较
Atitit php java python nodejs错误日志功能的比较 1.1. Php方案 自带 1 1.2. Java解决方案 SLF4J 1 1.3. Python解决方案 自带lo ...
- AspNetCore 使用log4net+IExceptionFilter 记录错误日志
错误日志的好处我就不说了,大家都心里有数,那今天浩子就给大家说一说基本的错误日志吧这次通过log4net记录日志. 原来写过一个关于Nlog的日志框架,传送门为:https://www.cnblogs ...
- linux(centos8):zabbix配置邮件报警(监控错误日志)(zabbix5.0)
一,zabbix5.0发邮件报警的准备工作: zabbix5.0在linux平台上的安装:参见这一篇: https://www.cnblogs.com/architectforest/p/129125 ...
- 如何为Windows服务增加Log4net和EventLog的日志功能。
一.简介 最近在做一个项目的时候,需要该项目自动启动.自动运行,不需要认为干预.不用说,大家都知道用什么技术,那就是 Windows服务.在以前的Net Framework 平台下,Windows 服 ...
- MVC4.0 利用HandleErrorAttribute和log4net实现记录异常日志功能
1.MVC4.0中HandleErrorAttribte已经帮我们处理了异常问题,当我们新建一个非空的MVC项目时候,在FilterConfig中会发现这样的代码 public class Filte ...
- java web 自定义错误页面 完整jsp错误页面代码(同时写错误日志) error.jsp
1.首先配置web.xml 添加一下代码 <error-page> <error-code>500</error-code> <location>/e ...
随机推荐
- MYSQL主从复制制作配置方案
1. 主从复制机器配置 操作系统:centos7 x64 基于vagrant下的virtual box的虚拟机两台 master ip:192.168.21.11, slave ip 192.168. ...
- 【转】服务化框架技术选型与京东JSF解密
[京东技术]声明:本文转载自微信公众号“开涛的博客”,转载务必声明. 作者:章耿,原京东资深架构师,曾负责京东服务框架,配置中心等基础平台.近十年工作经验,专注于基础中间件等底层技术架构,对分布式系统 ...
- gethostbyname(domain) 老是返回 NULL, 凌乱了
struct hostent *h = gethostbyname(pDomain); 今天在写一个下载网上文件到本地的小程序,在测试时发现 gethostbyname()老是返回NULL. 解析不了 ...
- 关于MySQL锁的详解
有2种 1.表锁 2.行锁 支持 .innodb支持行锁,表级锁 .myisam只支持表级锁 innodb实现了下面2种标准的行级锁 .共享锁 S LOCK 允许事务读一行数据 .排他锁 X LOCK ...
- io系列之常用流二
一.对象的序列化.持久化. 将java的对象的基本数据类型和图形存入文件中,实现对象数据的序列化和持久化. 操作对象可以使用: ObjectOutPutStream 和 ObjectInPutStre ...
- HTML学习笔记Day8
一.设置元素背景透明属性{background:rgba(255,255,255,0.5):} 1.元素背景透明,内容正常显示: 注:opacity:value:元素背景透明内容也透明: 2.rgba ...
- php处理文件上传
注意点: 1.<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" ...
- RFM模型
python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_camp ...
- 根文件系统之init
title: 根文件系统之init tag: arm date: 2018-11-12 18:53:23 --- 引入 在Kernel源码分析中,了解到init_post是在挂载根文件系统之后执行应用 ...
- hibernate注解方式来处理映射关系
在hibernate中,通常配置对象关系映射关系有两种,一种是基于xml的方式,另一种是基于annotation的注解方式,熟话说,萝卜青菜,可有所爱,每个人都有自己喜欢的配置方式,我在试了这两种方式 ...