1.log4net官网配置相关,创建数据库

http://logging.apache.org/log4net/release/config-examples.html

CREATE TABLE [dbo].[tbl_LogInfo](
[ID] [int] IDENTITY(1,1) NOT NULL,
[LogTime] [datetime] NOT NULL,
[Thread] [nvarchar](max) NOT NULL,
[LogLevel] [nvarchar](max) NULL,
[Logger] [nvarchar](max) NULL,
[Message] [nvarchar](max) NULL,
[Exception] [nvarchar](max) NULL)

  配置项

 <configuration>
<log4net><appender name="ADONetAppender" type="log4net.Appender.ADONetAppender"><bufferSize value="10"/><connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=2sdfg57345c5619dsfsdf"/><commandText value="INSERT INTO tbl_LogInfo ([LogTime],[Thread],[LogLevel],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)"/><parameter><parameterName value="@log_date"/><dbType value="DateTime"/><layout type="log4net.Layout.RawTimeStampLayout"/></parameter><parameter><parameterName value="@thread"/><dbType value="String"/><size value="255"/><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%thread"/></layout></parameter><parameter><parameterName value="@log_level"/><dbType value="String"/><size value="50"/><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%level"/></layout></parameter><parameter><parameterName value="@logger"/><dbType value="String"/><size value="255"/><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%logger"/></layout></parameter><parameter><parameterName value="@message"/><dbType value="String"/><size value="4000"/><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%message"/></layout></parameter><parameter><parameterName value="@exception"/><dbType value="String"/><size value="2000"/><layout type="log4net.Layout.ExceptionLayout"/></parameter></appender><root><level value="ALL"/><appender-ref ref="LogFileAppender"/><appender-ref ref="ADONetAppender"/></root></log4net>
</configuration>

  

2.在C#中使用

工具类

   public class LogHelper{private const string configFileName = "Web.config";public LogHelper(){}private static void SetXmlConfigurator(){XmlConfigurator.Configure(new System.IO.FileInfo(AppDomain.CurrentDomain.BaseDirectory + configFileName));ConfigureLog4Net();}private static void ConfigureLog4Net(){Hierarchy hierarchy = LogManager.GetRepository() as Hierarchy;if (hierarchy != null && hierarchy.Configured){foreach (IAppender appender in hierarchy.GetAppenders()){if (appender is AdoNetAppender){var adoNetAppender = (AdoNetAppender)appender;adoNetAppender.ConnectionString =ConfigurationHelper.GetConnectionString("你配置在配置文件中的数据库名称");adoNetAppender.ActivateOptions(); //Refresh AdoNetAppenders Settings}}}}/// <summary>/// 记录调试(Debug)日志/// </summary>/// <param name="message">记录的信息</param>/// <param name="type">记录操作的类</param>/// <param name="ex">记录的异常</param>public static void AddDebugLog(string message, Type type, Exception ex){SetXmlConfigurator();ILog logger = log4net.LogManager.GetLogger(type);logger.Debug(message, ex);}/// <summary>/// 记录调试(Debug)日志/// </summary>/// <param name="message">记录的信息</param>/// <param name="actionName">记录操作的名称</param>/// <param name="ex">记录的异常</param>public static void AddDebugLog(string message, string actionName, Exception ex){SetXmlConfigurator();ILog logger = log4net.LogManager.GetLogger(actionName);logger.Debug(message, ex);}/// <summary>/// 记录调试(Debug)日志/// </summary>/// <param name="message">记录的信息</param>/// <param name="actionName">记录操作的名称</param>public static void AddDebugLog(string message, string actionName){SetXmlConfigurator();ILog logger = log4net.LogManager.GetLogger(actionName);logger.Debug(message);}/// <summary>/// 记录调试(Debug)日志/// </summary>/// <param name="message">记录的信息</param>/// <param name="type">记录操作的类</param>public static void AddDebugLog(string message, Type type){SetXmlConfigurator();ILog logger = log4net.LogManager.GetLogger(type);logger.Debug(message);}/// <summary>/// 记录错误(Error)日志/// </summary>/// <param name="message">记录的信息</param>/// <param name="type">记录操作的类</param>/// <param name="ex">记录的异常</param>public static void AddErrorLog(string message, Type type, Exception ex){SetXmlConfigurator();ILog logger = log4net.LogManager.GetLogger(type);logger.Error(message, ex);}/// <summary>/// 记录错误(Error)日志/// </summary>/// <param name="message">记录的信息</param>/// <param name="actionName">记录操作的名称</param>/// <param name="ex">记录的异常</param>public static void AddErrorLog(string message, string actionName, Exception ex){SetXmlConfigurator();ILog logger = log4net.LogManager.GetLogger(actionName);logger.Error(message, ex);}/// <summary>/// 记录错误(Error)日志/// </summary>/// <param name="message">记录的信息</param>/// <param name="actionName">记录操作的名称</param>public static void AddErrorLog(string message, string actionName){SetXmlConfigurator();ILog logger = log4net.LogManager.GetLogger(actionName);logger.Error(message);}/// <summary>/// 记录错误(Error)日志/// </summary>/// <param name="message">记录的信息</param>/// <param name="type">记录操作的类</param>public static void AddErrorLog(string message, Type type){SetXmlConfigurator();ILog logger = log4net.LogManager.GetLogger(type);logger.Error(message);}/// <summary>/// 记录致命错误(Fatal)日志/// </summary>/// <param name="message">记录的信息</param>/// <param name="type">记录操作的类</param>/// <param name="ex">记录的异常</param>public static void AddFatalLog(string message, Type type, Exception ex){SetXmlConfigurator();ILog logger = log4net.LogManager.GetLogger(type);logger.Fatal(message, ex);}/// <summary>/// 记录致命错误(Fatal)日志/// </summary>/// <param name="message">记录的信息</param>/// <param name="actionName">记录操作的名称</param>/// <param name="ex">记录的异常</param>public static void AddFatalLog(string message, string actionName, Exception ex){SetXmlConfigurator();ILog logger = log4net.LogManager.GetLogger(actionName);logger.Fatal(message, ex);}/// <summary>/// 记录致命错误(Fatal)日志/// </summary>/// <param name="message">记录的信息</param>/// <param name="actionName">记录操作的名称</param>public static void AddFatalLog(string message, string actionName){SetXmlConfigurator();ILog logger = log4net.LogManager.GetLogger(actionName);logger.Fatal(message);}/// <summary>/// 记录致命错误(Fatal)日志/// </summary>/// <param name="message">记录的信息</param>/// <param name="type">记录操作的类</param>public static void AddFatalLog(string message, Type type){SetXmlConfigurator();ILog logger = log4net.LogManager.GetLogger(type);logger.Fatal(message);}/// <summary>/// 记录警告(Warn)日志/// </summary>/// <param name="message">记录的信息</param>/// <param name="type">记录操作的类</param>/// <param name="ex">记录的异常</param>public static void AddWarnLog(string message, Type type, Exception ex){SetXmlConfigurator();ILog logger = log4net.LogManager.GetLogger(type);logger.Warn(message, ex);}/// <summary>/// 记录警告(Warn)日志/// </summary>/// <param name="message">记录的信息</param>/// <param name="actionName">记录操作的名称</param>/// <param name="ex">记录的异常</param>public static void AddWarnLog(string message, string actionName, Exception ex){SetXmlConfigurator();ILog logger = log4net.LogManager.GetLogger(actionName);logger.Warn(message, ex);}/// <summary>/// 记录警告(Warn)日志/// </summary>/// <param name="message">记录的信息</param>/// <param name="actionName">记录操作的名称</param>public static void AddWarnLog(string message, string actionName){SetXmlConfigurator();ILog logger = log4net.LogManager.GetLogger(actionName);logger.Warn(message);}/// <summary>/// 记录警告(Warn)日志/// </summary>/// <param name="message">记录的信息</param>/// <param name="type">记录操作的类</param>public static void AddWarnLog(string message, Type type){SetXmlConfigurator();ILog logger = log4net.LogManager.GetLogger(type);logger.Warn(message);}/// <summary>/// 记录普通信息(Info)日志/// </summary>/// <param name="message">记录的信息</param>/// <param name="type">记录操作的类</param>/// <param name="ex">记录的异常</param>public static void AddInfoLog(string message, Type type, Exception ex){SetXmlConfigurator();ILog logger = log4net.LogManager.GetLogger(type);logger.Info(message, ex);}/// <summary>/// 记录普通信息(Info)日志/// </summary>/// <param name="message">记录的信息</param>/// <param name="actionName">记录操作的名称</param>/// <param name="ex">记录的异常</param>public static void AddInfoLog(string message, string actionName, Exception ex){SetXmlConfigurator();ILog logger = log4net.LogManager.GetLogger(actionName);logger.Info(message, ex);}/// <summary>/// 记录普通信息(Info)日志/// </summary>/// <param name="message">记录的信息</param>/// <param name="actionName">记录操作的名称</param>public static void AddInfoLog(string message, string actionName){SetXmlConfigurator();ILog logger = log4net.LogManager.GetLogger(actionName);logger.Info(message);}/// <summary>/// 记录普通信息(Info)日志/// </summary>/// <param name="message">记录的信息</param>/// <param name="type">记录操作的类</param>public static void AddInfoLog(string message, Type type){SetXmlConfigurator();ILog logger = log4net.LogManager.GetLogger(type);logger.Info(message);}}

  

实际运用

 catch (Exception ex){LogHelper.AddErrorLog("Login", this.GetType(), ex);}

  

转载于:https://www.cnblogs.com/Tom-yi/p/7805063.html

asp.net mvc中用 log4net记录日志到数据库中相关推荐

  1. ASP.NET+MVC+使用+Log4net+记录日志笔记

    前言: 记录系统中的日志,是一个好的项目产品必备的一个环节.每一个产品最终的目的都是要交予客户使用,因为程序员代码的开发水平参差不齐,Bug就成为了项目运维成本最大的因素之一.如何降低项目运维的成本呢 ...

  2. ASP.NET MVC 使用 Log4net 记录日志

    Log4net 介绍 Log4net 是 Apache 下一个开放源码的项目,它是Log4j 的一个克隆版.我们可以控制日志信息的输出目的地.Log4net中定义了多种日志信息输出模式.它可以根据需要 ...

  3. ASP.NET MVC 使用Log4Net在不同目录中记录不同类型的日志

    在上一篇文章中,实现了利用Log4Net记录系统中出现的问题.如果同时还需要记录用户操作的监控日志,就需要一些修改 修改Web.Cofig配置文件 ,增加一个logger节点和appender节点,用 ...

  4. C# Asp.Net6 MVC,Log4net NLog 日志插件应用 及Windows、Liux环境下程序发布

    C# Asp.Net6 MVC,Log4net NLog 日志插件应用 及Windows.Liux环境下程序发布 一. MVC含义 二.数据传输 1.控制器向视图传输数据 三.日志组件Log4net ...

  5. 在ASP.NET中将图片存储到Sql Server数据库中

    在ASP.NET中将图片存储到Sql Server数据库中 http://hi.baidu.com/rayshow/blog/item/360e8ff9662c8b5a252df268.html 索引 ...

  6. 使用log4net记录日志到数据库(含有自定义属性)

    记录日志是管理系统中对用户行为的一种监控与审核,asp.net中记录日志的方式有很多种,这里我只介绍一下最近用到的log4net,关于他的具体介绍网上有很多,我讲一下他的用法. 第一步:在配置文件中的 ...

  7. ASP.NET MVC使用log4net

    本文介绍如何在ASP.NET MVC中使用log4net来记录日志文件. 参考链接: https://www.codeproject.com/Articles/823247/How-to-use-Ap ...

  8. ASP.NET MVC CODE FIRST 图书管理系统 数据库

    ASP .NET MVC CODE FIRST 图书管理系统 本项目最后更新于2018-7-4,可能会因为没有更新而失效.如已失效或需要修正,请提issue! 我使用VS2017进行开发,框架是.NE ...

  9. ASP.NET MVC 使用Log4Net记录系统运行中问题

    log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介. 在NuGet程序包中下载log4Net组件, ...

最新文章

  1. php 正则表达式 x,php – 匹配x正则表达式或y正则表达式
  2. 【解题报告】Leecode 643. 子数组最大平均数 I——Leecode 刷题系列
  3. mysql中的get_lock锁机制解析
  4. Oracle Explain Plan,hint解释与示例
  5. sql server 锁与事务拨云见日(下)
  6. ROS 可视化(一): 发布PointCloud2点云数据到Rviz
  7. 限定某个目录禁止解析php 限制user_agent php相关配置
  8. datatable自定义搜索和导出按钮并解决在后端分页无法导出全部数据的问题
  9. Bing翻译和Google翻译的比较
  10. 三菱无机房电梯故障代码查询_三菱无机房电梯的故障代码
  11. 方正璞华:硬核攻关,自主创新,推动印前处理自动化云流程走向世界
  12. 新书推荐 |《深入浅出Serverless:技术原理与应用实践》
  13. 使用 python 脚本爬取豆瓣电影排行榜
  14. 微信小程序引入字体图标 1
  15. LabVIEW FPGA PCIe开发讲解-7.1节:FPGA PCIe/PXIe基础知识和概念概述
  16. 学生个人单页面网页作业 学生网页设计成品 静态HTML网页单页制作 dreamweaver网页设计与制作代码 web前端期末大作业
  17. android ndk arm,Android NDK ARM构建设置可在大多数设备上运行?
  18. 计算机的最新发展趋势
  19. Python爬虫小结(转)
  20. 树莓派js调用C语言,SpiderMonkey js中调用c程序

热门文章

  1. PHP __compare 魔术方法的实现
  2. exchange 2010 集线器(hub)外发邮件的配置
  3. oracle基础琐碎总结-----Where和Having的区别与联系
  4. 在Windows服务器上开启SNMP代理程序
  5. windows 2008初体验常见问题: 无线网络没有正确配置为使用IP协议 错误解决办法...
  6. where to park your bike?
  7. linkedin规则
  8. 【转】光栅化操作阶段
  9. vsftp实现只能上传不能下载、删除权限配置
  10. Vant 1.6.11 发布,有赞轻量级移动端 Vue 组件库