web端log4net输出错误日志到mysql

1.配置log4net.config文件

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <!-- Author:GaoBingBing-->
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net>
    <!--写入到数据库-->
    <appender name="AdoNetAppender_MySql" type="log4net.Appender.AdoNetAppender">
      <!--错误队列数据达到5个才持久化到数据库-->
      <bufferSize value="5" />
      <param name="ConnectionType" value="MySql.Data.MySqlClient.MySqlConnection, MySql.Data"/>
      <param name="ConnectionString" value="server=localhost;database=test;Uid=sa;Pwd=sa;old syntax=yes"/>
      <commandText value="INSERT INTO log(log_datetime,log_thread,log_level,log_logger,log_message) VALUES (@log_date, @thread, @log_level, @logger, @message)"/>
      <parameter>
        <parameterName value="@log_date"/>
        <dbType value="DateTime"/>
        <layout type="log4net.Layout.RawTimeStampLayout"/>
        <!--<layout type="log4net.Layout.PatternLayout" value="%date{yyyy‘-‘MM‘-‘dd HH‘:‘mm‘:‘ss}" />-->
      </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="AdoNetAppender_MySql"/>
    </root>
    <logger name="*">
      <level value="ALL" />
      <appender-ref ref="AdoNetAppender_MySql" />
    </logger>
  </log4net>
</configuration>

2.项目启动处

log4net.Config.XmlConfigurator.Configure();

3.AssemblyInfo.cs
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

4.调用log4net

log4net.ILog myLogger = log4net.LogManager.GetLogger("message");

myLogger.Info("hello!");

简单四步配置成功第一次写博客园,还没有掌握好看的布局,再接再厉!嘻嘻

时间: 2024-11-09 02:00:00

web端log4net输出错误日志到mysql的相关文章

今天搞log4net插入错误日志去mysql数据库的时候出现了点问题,已解决。记录下解决方案

先上图 配置log4net的时候要填这项,可是这个value我不知道啊.....上图里的value是我用下面的方法获取的 MySqlConnection con = new MySqlConnection(strcon); Type t = con.GetType(); string ConnectType/*这就是上图里的value了,这个value在webconfig里面很多地方都有用到的*/ = t.AssemblyQualifiedName; 反射....

ASP.NET MVC中Log4Net记录错误日志的使用

第一.在管理NuGet程序包 =>下载 Log4Net 第二.在web.config配置Log4Net 1:在<configuration>节点下 <configSections>节点中 配置log4Net节点引用. <!--log4net日志记录--> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net

Spring MVC自定义统一异常处理类,并且在控制台中输出错误日志

在使用SimpleMappingExceptionResolver实现统一异常处理后(参考Spring MVC的异常统一处理方法), 发现出现异常时,log4j无法在控制台输出错误日志.因此需要自定义一个继承至SimpleMappingExceptionResolver的 RrtongMappingExceptionResolver类,在RrtongMappingExceptionResolver中通过 log.error(ex.getMessage())的方式输出日志到控制台上.以下是具体的配

asp.net Web项目中使用Log4Net进行错误日志记录

使用log4net可以很方便地为应用添加日志功能.应用Log4net,开发者可以很精确地控制日志信息的输出,减少了多余信息,提高了日志记录性能.同时,通过外部配置文件,用户可以不用重新编译程序就能改变应用的日志行为,使得用户可以根据情况灵活地选择要记录的信息. 那么我们如何在Web项目中使用Log4Net呢? 一.基本配置 1.下载Log4Net,地址如下:http://logging.apache.org/log4net/download_log4net.cgi,如下图所示: 2.下载到本地后

asp.net mvc中加入log4net记录错误日志

首先添加加log4net的dll,推荐用nuget.... 贴上配置文件 <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4Net&q

输出错误日志到文件

#!/usr/bin/python # -*- coding: utf-8 -*- #将错误日志输出到文件 import time log_path ='/root/log.log' fo = open(log_path,'a') a=0 try: result=10/a print result except StandardError, e: print 'serror:', e fo.write(time.strftime('%Y-%m-%d %H:%M:%S',time.localtim

zabbix server web端的常见错误

安装出现 PHP option max_input_time       60   300   off 解决:在php.ini文件中将两处max_input_time = 60 的 60 改为 300 安装出现PHP always_populate_raw_post_data    on  off    off 解决:CFrontendSetup.php 文件中修改为: See: http://php.net/manual/en/ini.core.php#ini.always-populate-

net输出错误日志

在使用net开发webapi的时候,有时候程序异常了,外面只能看到一个错误:an error occur 怎么才能将具体的 错误堆栈信息输出来呢? 1.在startup.cs文件中添加如下代码就可以将错误信息输出: GlobalConfiguration.Configure(c => c.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always); 代码如下: 2.Global.asax中捕获api错误信息: protected voi

MySQL错误日志总结

MySQL错误日志是记录MySQL 运行过程中较为严重的警告和错误信息,以及MySQL每次启动和关闭的详细信息.错误日志的命名通常为hostname.err.其中,hostname表示服务器主机名. The error log contains information indicating when mysqld was started and stopped and also any critical errors that occur while the server is running.