通过Log4net来配置我们需要的日志文件格式
我们先来看看配置写入txt文件是如何 的,当然不止可以配置txt格式还有其它格式。
<?xml version="1.0" encoding="utf-8"?>
<configuration> <configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections> <log4net>
<!--定义输出到文件中-->
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<!--定义文件存放位置-->
<file value="log.txt" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd-HH:mm:ss" />
<layout type="log4net.Layout.PatternLayout"> <!--输出格式
样例:2008-03-26 13:42:32,111 [10] INFO Log4NetDemo.MainClass [(null)] - info-->
<conversionPattern value="记录时间:%date%newline线程ID:[%thread]%newline日志级别:%-5level%newline出错类:%logger%newline出错位置:%l%newline- 错误描述:%message%newline异常信息:%exception%newline%newline" />
</layout>
</appender> <root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" /> </root> </log4net> <system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
</configuration>
<?xml version="1.0" encoding="utf-8"?>
<configuration> <configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections> <log4net>
<!--定义输出到文件中-->
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<!--定义文件存放位置-->
<file value="log.txt" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd-HH:mm:ss" />
<layout type="log4net.Layout.PatternLayout"> <!--输出格式
样例:2008-03-26 13:42:32,111 [10] INFO Log4NetDemo.MainClass [(null)] - info-->
<conversionPattern value="记录时间:%date%newline线程ID:[%thread]%newline日志级别:%-5level%newline出错类:%logger%newline出错位置:%l%newline- 错误描述:%message%newline异常信息:%exception%newline%newline" />
</layout>
</appender> <root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" /> </root> </log4net> <system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
</configuration>
再来看看配置写入数据库中的配置是如何的:
<?xml version="1.0" encoding="utf-8"?>
<configuration> <!--作者:欧阳洲 At:2013年11月21日 11:12:42-->
<!--Log4net配置信息-->
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections> <log4net>
<!--写到数据库中-->
<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
<!--BufferSize为缓冲区大小,只有日志记录超设定值才会一块写入到数据库-->
<bufferSize value="1" />
<!--引用-->
<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<!--连接数据库字符串-->
<connectionString value="Data Source=58.249.57.205,8989;Initial Catalog=GDUnicom2;User ID=tycadsql;Password=admintydzsnfgcad*208" />
<!--插入到表Log-->
<commandText value="INSERT INTO System__Log_Log4Net ([AddDate],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" /> <!--以下是参数
日志记录时间,RawTimeStampLayout为默认的时间输出格式-->
<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>
<!--异常信息。ExceptionLayout为异常输出的默认格式-->
<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" /> </root> </log4net>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web> </configuration>
最重要我们是如何使用它来输出不同的配置文件,通过方法我可以有选择性的配置不同的输出格式。
/// <summary>
/// 日志写入文件
/// </summary>
/// <param name="method">当前的方法名</param>
/// <returns></returns>
public static ILog Log2File(string method)
{
string path = HttpContext.Current.Server.MapPath ("Log2File.config");
log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(HttpContext.Current.Server.MapPath ("Log2File.config")));
return log4net.LogManager.GetLogger(method);
}
/// <summary>
/// 日志写入数据库
/// </summary>
/// <param name="method">当前的方法名</param>
/// <returns></returns>
public static ILog Log2Sql(string method)
{
log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(HttpContext.Current.Server.MapPath ("Log2Sql.config")));
return log4net.LogManager.GetLogger(method);
} 参考Log4net祥细配置地址:
http://www.cnblogs.com/dragon/archive/2005/03/24/124254.html
http://blog.sina.com.cn/s/blog_6d1c583c01010tf3.html
通过Log4net来配置我们需要的日志文件格式的更多相关文章
- 日志管理-将Log4net的配置配置到的独立文件中
转自:http://www.cnblogs.com/zfanlong1314/p/3662679.html使用log4net已经很久了.但从来没有详情了解log4的参数,及具体使用方法.看了周公的博客 ...
- Log4net快速配置使用指南。(快速搭建log4net日志平台手册)
每做一个新项目,都会用到log4net,但总是忘记如何快速配置.有时在网上搜半天也找不到好的模板,大都在介绍参数的使用,在此做下总结,争取下次用时仅10分钟就可搭建好log4net. 直接上介绍的步骤 ...
- log4net的配置与使用
log4net解决的问题是在.Net下提供一个记录日志的框架,它提供了向多种目标写入的实现,比如利用log4net可以方便地将日志信息记录到文件.控制台.Windows事件日志和数据库(包括MS SQ ...
- 将Log4net的配置配置到的独立文件中
本文转载:http://blog.csdn.net/wanzhuan2010/article/details/7587780 另外一篇博客:http://grim1980.blog.sohu.com/ ...
- C# log4net 的配置
项目的日志组件是必备可少的,任何项目中都需要.这样既方便前期的开发测试也方便项目后期的项目维护.C#项目的一个不错的日志组件是log4net,下面我就把桌面应用程序.控制台程序.网站中log4net的 ...
- .Net MVC4 log4net的配置
一.首先在使用log4net记录日志的时候,我们要引用log4net.dll文件 二.在web.config中添加一下配置代码 <configSections> <!-- For m ...
- log4net类库配置、WebService配置
一.类库配置 结构如下图 1.LogUtility类 public class LogUtility { private static readonly log4net.ILog log = log4 ...
- Log4Net.Config配置信息《转》
看了log4net的简单使用之一_log4net介绍 大家对log4net组件应该有了大概的了解,下面再近一步介绍其在项目中如何应用. 1.Logger 所有的记录器都必须实现 ILog 接口,该接口 ...
- 用log4net快速构建asp.net 异常日志
log4net是一个非常完善的日志组件. 有着强大的可配置性. 有助于提高开发效率 .log4net是apache组织开发的日志组件, 同其姐妹log4j一样, 是一个开源项目. 可以以插件的形式应用 ...
随机推荐
- TI-RTOS 之 GPIO中断(按键)
TI-RTOS 之 GPIO中断(按键) 前面已经用过LED, 定时器,这次来了解GPIO的中断是怎么用的,从CC1310+TI-RTOS的例程可以直接找到相应的例子程序,它的关键是在于要使能中断,也 ...
- URL编码的方法
Global 对象的encodeURI()和encodeURIComponent()方法可以对URI(Uniform ResourceIdentifiers,通用资源标识符)进行编码,以便发送给浏览器 ...
- 久未更 ~ 五之 —— 引入外部CSS样式表 小节
> > > > > 久未更 系列一:在html中引入外部css样式表 //引入外部css样式表 //<lilnk>要放在<head>标签的第一行, ...
- 算法-java代码实现基数排序
基数排序 第11节 基数排序练习题 对于一个int数组,请编写一个基数排序算法,对数组元素排序. 给定一个int数组A及数组的大小n,请返回排序后的数组.保证元素均小于等于2000. 测试样例: [1 ...
- 如何更改Linux的ssh端口
1. 修改/etc/ssh/sshd_config里的Port字段 Port 22改为Port 1000(你自定义的端口) 2. 重启sshd服务 #service sshd restart
- [SinGuLaRiTy] Nescafe 24杯模拟赛
[SinGularLaRiTy-1044] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 小水塘(lagoon) 题目描述 忘川沧月的小水塘 ...
- 谷歌扩展程序设置ajax请求允许跨域(极少人知道的解决方案)
前言: 跨域问题一直是个老生常谈的问题,在实际开发过程中,跨域的问题常常会让开发者非常的头疼. 常用的几种跨域解决方案: 1.代理 2.XHR2 HTML5中提供的XMLHTTPREQUEST Lev ...
- Go语言是我见过最简洁的语言(除了lua)
写在前面:题目就是个标题党,在这里先道歉,其次撸主学过很多语言(基本上是个语言都要上一下的那种人,但是不会太深入,只做了解,因为很多用不到),但主要使用C#语言(不过已经开始恶心C#的臃肿,不要打我) ...
- JavaScript String(字符串对象)
String 对字符串的支持 String.charAt( n ) 返回字符串中的第n个字符 n 是下标 String.charCodeAt( ) 返回字符串中的第n个字符的代码 String.con ...
- 2017-06-29(cat tac more less head tail)
cat 查看文件内容 cat -A 相当于-vET的整合参数,可列出一些特殊的字符,而不是空白而已 -b 列出行号,空白行不标号 -E 将结尾的断行字符 $ 显示出来 -n 列出行号,空 ...