config配置
<xml version="1.0">
<configuration>
<configSections>
<!--配置一个结点 名称为log4net-->
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
</configSections>
<!--
【log4net 配置节】 1、符号的特殊意义:
%m[%message] :输出的日志消息
%n:换行
%d[%datetime]:输出当前语句运行的时刻
%r :输出程序从运行到执行到当前语句时消耗的毫秒数
%d:当前语句所在的线程ID
%p :日志的当前优先级别
%c:当前日志对象的名称
%L :输出语句所在的行号
%F:输出语句所在的文件名
%-数字:表示该项的最小长度,如果不够,则用空格填充。 2、几个级别:
FATAL毁灭级别、ERROR错误级别、WARN警告级别、INFO消息级别、DEBUG调试级别
这几种日志级别FATAL> ERROR> WARN> INFO>DEBUG
只有日志输出级别大于或等于配置的级别才能输出日志信息
-->
<log4net> <!--记录日志到数据库-->
<appender name="ADONetAppender" type="log4net.Appender.ADONetAppender">
<!--
bufferSize,缓存sql的条数;
只有日志sql 大于等于 设置的条数后才执行插入到数据库中的操作;
如果为0,表示 立刻执行插入数据库操作,或者程序/网站 关闭后 执行插入操作
-->
<bufferSize value="0" />
<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<!--数据库连接字符串-->
<connectionString value="server=.;database=Movies;integrated security=false;persist security info=True;uid=sa;pwd=123456;" />
<!--插入到数据库的sql格式定义-->
<commandText value="INSERT INTO Sys_Log (LogDate,LogThread,LogLevel,LogLogger,LogMessage,LogException) 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="50" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%t" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_level" />
<dbType value="String" />
<size value="200" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%p" />
</layout>
</parameter>
<parameter>
<parameterName value="@logger" />
<dbType value="String" />
<size value="200" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%logger" />
</layout>
</parameter>
<parameter>
<parameterName value="@message" />
<dbType value="String" />
<size value="2000" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%m" />
</layout>
</parameter>
<parameter>
<parameterName value="@exception" />
<dbType value="String" />
<size value="2000" />
<layout type="log4net.Layout.ExceptionLayout" />
</parameter>
</appender> <!--记录日志到文件-->
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<!--日志路径-->
<file value="Record.log"></file>
<appendToFile value="true"></appendToFile>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[时间]:%d%n[级别]:%p%n[对象]:%c%n[内容]:%m%n%n"></conversionPattern>
</layout>
</appender> <!--记录日志到控制台-->
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[时间]:%d%n[级别]:%p%n[对象]:%c%n[内容]:%m%n%n"></conversionPattern>
</layout>
</appender> <!--
默认的日志对象配置
level:指定日志的输出级别
appender-ref:引用哪些附着器
-->
<root>
<level value="Info"></level>
<appender-ref ref="FileAppender"></appender-ref>
<appender-ref ref="ConsoleAppender"></appender-ref>
<appender-ref ref="ADONetAppender"></appender-ref>
</root> <!--
指定的日志对象配置
level:指定日志的输出级别
appender-ref:引用哪些附着器
-->
<logger name="MyLogger">
<level value="Info"></level>
<appender-ref ref="FileAppender"></appender-ref>
<appender-ref ref="ConsoleAppender"></appender-ref>
<appender-ref ref="ADONetAppender"></appender-ref>
</logger>
</log4net>
</configuration>
日志记录表结构
/*Log4net 日志记录表结构*/

CREATE TABLE [dbo].[Sys_Log] (
[Id] [int] IDENTITY (1, 1) NOT NULL ,
[LogDate] [datetime] NOT NULL ,
[LogThread] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[LogLevel] [varchar] (200) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[LogLogger] [varchar] (200) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[LogMessage] [varchar] (2000) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[LogException] [varchar] (2000) COLLATE Chinese_PRC_CI_AS NOT NULL ) ON [PRIMARY]
GO ALTER TABLE [dbo].[Sys_Log] WITH NOCHECK ADD
CONSTRAINT [PK_Log] PRIMARY KEY CLUSTERED
(
[Id]
) ON [PRIMARY] GO

Log4net 可直接使用的配置的更多相关文章

  1. Log4net日志记录、详细配置(自己使用)

    [来自百度百科的一句介绍]log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具. 1.首先添 ...

  2. Log4Net在MVC下的配置以及运用线程队列记录异常信息

    Log4Net是用来记录日志的,可以将程序运行过程中的信息输出到一些地方(文件.数据库.EventLog等),日志就是程序的黑匣子,可以通过日志查看系统的运行过程,从而发现系统的问题.日志的作用:将运 ...

  3. Log4net(三)——RollingFileAppender配置

    RollingFileAppender配置 log4net的记录介质很多,这里只总结最常用的方式之一:RollingFileAppender. 1.日志文件名是以文件大小进行变换的 如果日志文件大小到 ...

  4. log4net日记文件路径动态配置

    在项目开发过程中,部署的服务器越来越多,查看日记的时候需要每台服务器去找日记看,这对运维人员来说是一个很不友好的方式.在此基础上就提出将所有日记统一到一台服务器上进行存放,并按照产生日记的服务器分文件 ...

  5. Log4net日志记录、详细配置(自己使用>)

    log4net库是Apache log4j框架在Microsoft.NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具 1.首先添加对log4net.dll的引 ...

  6. 附带详细注释的log4net的app.config文件配置例子

    <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSe ...

  7. Log4net用法(App.config配置)

    配置文件 <configSections> <section name="log4net" type="log4net.Config.Log4NetCo ...

  8. 引用日志log4net.dll的web.config配置

    <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigu ...

  9. c#log4net简单好用的配置

    新建文件log4net.config 编辑文件log4net.config <configuration> <configSections> <!--日志记录--> ...

随机推荐

  1. 这样就算会了PHP么?-11

    PHP中关于类的基本内容练习: <?php class SportObject{ public $name; public $height; public $avirdupois; public ...

  2. java获得指定日期的前一天,后一天的代码

    /** * 获得指定日期的前一天 * @param specifiedDay * @return * @throws Exception */ public static String getSpec ...

  3. 系统监控的工具tsar

    近期一直在折腾着elasticsearch,需要对硬件进行评估 大概几方面 内存 cpu 硬盘 网络. iostat vmstat top 几个命令用了一堆,其实需要关注的几个点只要都列出来就可以了 ...

  4. poj 1149 pigs(最大流)

    题目大意:迈克在农场工作,农场有 m 个猪舍,每个猪舍有若干只猪,但是迈克不能打开任何一间猪舍.有 n 个顾客前来购买,每个顾客有最大的购买数量,每个顾客可以购买某些猪舍的猪,且顾客可以打开这些猪舍, ...

  5. 基于Android的物理类游戏,源代码(JAVA)分享

    游戏视频DEMO:http://v.youku.com/v_show/id_XNTM5MzM1Mzg0.html?from=s1.8-1-1.2 说明:一个自己做的Android上的物理类游戏,物理引 ...

  6. JS中简单的this学习

        我在学习JS初期,在使用this的时候经常出现问题,当然就是在现在,也有一些场景不能很好的明白this到底指代的是什么?看下面一个例子:   var x = 10; var foo = { x ...

  7. paip.输入法编程---智能动态上屏码儿长调整--.txt

    paip.输入法编程---智能动态上屏码儿长调整--.txt 作者Attilax ,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csd ...

  8. Hibernate框架后续

    持久化对象的唯一标识OID 1:我们都知道,在java中按照内存地址来区分同一个类的不同对象        而关系数据库按照主键来区分一条记录 在Hibernate中使用OID来建立内存中的对象和数据 ...

  9. 字符(汉子)转换为ASCII

    一般在jdk里面都会自包含一个官方提供的转换工具:native2ascii.exe 调用方法: 打开cmd界面,使用cd  C:\Program Files\Java\jdk1.6.0_39\bin命 ...

  10. Android学习总结——本地广播机制

    为了简单解决广播的安全性问题,Android引入了一套本地广播机制,使用这个机制发出的广播只能在程序的内部进行传递,只能接受来自本应用程序发出的广播.否则当我们发送一些携带关键数据的广播可能被截获,一 ...