log4Net配置以及使用入门
<configSections>
<section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
<!--<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />-->
</configSections>
<log4net>
<!--定义输出到文件中-->
<!--Error-->
<appender name="RollingErrorLogFileAppender" type="log4net.Appender.RollingFileAppender">
<!--定义文件存放位置-->
<file value="Mylog\\ERROR\\" />
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyy\\yyyyMM\\yyyyMMdd'.txt'"/>
<staticLogFileName value="false"/>
<param name="MaxSizeRollBackups" value="1000"/>
<layout type="log4net.Layout.PatternLayout">
<!--输出格式-->
<conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别:%-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%newline"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<!--将日志过滤,只记录ERROR到FATAL-->
<levelMin value="ERROR" />
<levelMax value="ERROR" />
</filter>
</appender>
<!--FATAL-->
<appender name="RollingFATALLogFileAppender" type="log4net.Appender.RollingFileAppender">
<!--定义文件存放位置-->
<file value="Mylog\\FATAL\\" />
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyy\\yyyyMM\\yyyyMMdd'.txt'"/>
<staticLogFileName value="false"/>
<param name="MaxSizeRollBackups" value="1000"/>
<layout type="log4net.Layout.PatternLayout">
<!--输出格式-->
<conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别:%-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%newline"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<!--将日志过滤,只记录ERROR到FATAL-->
<levelMin value="FATAL" />
<levelMax value="FATAL" />
</filter>
</appender>
<!--定义输出到数据库-->
<!--
在SQL Server中创建表的SQL语句
CREATE TABLE [dbo].[Log] (
[Id] [int] IDENTITY (1, 1) NOT NULL,
[Date] [datetime] NOT NULL,
[Thread] [varchar] (255) NOT NULL,
[Level] [varchar] (50) NOT NULL,
[Logger] [varchar] (255) NOT NULL,
[Message] [varchar] (4000) NOT NULL,
[Exception] [varchar] (2000) NULL
);
-->
<appender name="AdoNetAppenderErrorSQLServer" type="log4net.Appender.AdoNetAppender">
<bufferSize value="1" />
<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<connectionString value="server=LONGPENG;uid=sa;pwd=0129;database=LogDB;" />
<commandText value="INSERT INTO LogError ([Date],[Thread],[Level],[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="RollingErrorLogFileAppender"/>
<appender-ref ref="RollingFATALLogFileAppender"/>
<!--数据库形式记录日志-->
<appender-ref ref="AdoNetAppenderErrorSQLServer"/>
</root>
</log4net>
=========================另一种使用的配置==============================
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="SysAppender" />
<appender-ref ref="consoleApp" />
</root>
<!--<logger name="WebLogger">
<level value="DEBUG" />
</logger>-->
<appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net">
<!--<param name="File" value="E:\\COLDDEMO\\项目\\实战\\Solution201708\\logs\\" />-->
<param name="File" value="..\\..\\MyLog\\AT\\ERROR\\" />
<!--<param name="File" value="C:\\TestWeb\\Debug\\Error\\" />-->
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="""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=" ------------------------------------------------
" />
<param name="Footer" value=" ----------------------footer--------------------------
" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<!--将日志过滤,只记录ERROR到FATAL-->
<levelMin value="ERROR" />
<levelMax value="ERROR" />
</filter>
</appender>
<!--..\\..\\MyLog\\AT\\-->
<appender name="consoleApp" type="log4net.Appender.RollingFileAppender,log4net">
<!--<param name="File" value="E:\\COLDDEMO\\项目\\实战\\Solution201708\\logs\\" />-->
<param name="File" value="..\\..\\MyLog\\AT\\Warn\\" />
<!--<param name="File" value="C:\\TestWeb\\Debug\\Error\\" />-->
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="""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=" ------------------------------------------------
" />
<param name="Footer" value=" ----------------------footer--------------------------
" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<!--将日志过滤,只记录Warn-->
<levelMin value="Warn" />
<levelMax value="Warn" />
</filter>
</appender>
</log4net>
============================================================
使用:
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace WebAppl
{
public class LogHelper
{
/// <summary>
/// 调用Log4net写日志
/// </summary>
/// <param name="logContent">日志内容</param>
/// <param name="log4Level">记录日志等级,枚举</param>
public static void WriteLog(string logContent, Log4NetLevel log4Level)
{
WriteLog(null, logContent, log4Level);
}
/// <summary>
/// 调用Log4net写日志
/// </summary>
/// <param name="type">类的类型,指定日志中错误的具体类
/// <param name="logContent">日志内容</param>
/// <param name="log4Level">记录日志等级,枚举</param>
public static void WriteLog(Type type, string logContent, Log4NetLevel log4Level)
{
ILog log = type == null ? LogManager.GetLogger("") : LogManager.GetLogger(type);
switch (log4Level)
{
case Log4NetLevel.Warn:
log.Warn(logContent);
break;
case Log4NetLevel.Debug:
log.Debug(logContent);
break;
case Log4NetLevel.Info:
log.Info(logContent);
break;
case Log4NetLevel.Fatal:
log.Fatal(logContent);
break;
case Log4NetLevel.Error:
log.Error(logContent);
break;
}
}
}
/// <summary>
/// log4net 日志等级类型枚举
/// </summary>
public enum Log4NetLevel
{
[Description("警告信息")]
Warn = 1,
[Description("调试信息")]
Debug = 2,
[Description("一般信息")]
Info = 3,
[Description("严重错误")]
Fatal = 4,
[Description("错误日志")]
Error = 5
}
}
log4Net配置以及使用入门的更多相关文章
- Common.Logging log4net Common.Logging.Log4Net 配置
1.log4net 单独配置 log4net支持多种格式的日志输出,我这里只配置输出到本地的txt文件这种格式. <log4net> <root> <appender-r ...
- Maven的安装、配置及使用入门
Maven的安装.配置及使用入门 本书代码下载 大家可以从我的网站下载本书的代码:http://www.juvenxu.com/mvn-in-action/,也可以通过我的网站与我取得联系,欢迎大家与 ...
- Log4Net 配置StmpAppender
目录 Log4Net 配置StmpAppender 1 1.前言 1 2.详细配置 1 1.StmpAppender配置 1 2.Root 配置 2 3.更多选项 ...
- C# Log4Net配置
Log4Net是用来记录日志的,可以将程序运行过程中的信息输出到一些地方(文件.数据库.EventLog等),日志就是程序的黑匣子,可以通过日志查看系统的运行过程,从而发现系统的问题.日志的作用:将运 ...
- Log4net配置与使用简要说明
log4net详细配置:http://logging.apache.org/log4net/本文描述如有错误,以官网的说明为准;p 一:先来看看log4net中的几个概念: 1. log4net继承机 ...
- Maven的安装、配置及使用入门+maven安装报错:JAVA_HOME【申明:来源于网络】
Maven的安装.配置及使用入门+maven安装报错:JAVA_HOME[申明:来源于网络] Maven的安装.配置及使用入门:http://www.cnblogs.com/dcba1112/arch ...
- Mycat 中间件配置初探与入门操作
Mycat中间件配置初探与入门操作 By:授客 QQ:1033553122 实践环境 Mycat-server-1.5.1-RELEASE-20161130213509-win.tar.gz 下载地址 ...
- MVC Log4Net 配置
1.引用log4net.dll 2.在项目根目录下增加log4.config文件 <?xml version="1.0"?> <configuration> ...
- ASP.NET MVC学习之Log4Net配置(日志记录)
Log4Net配置笔记---- 首先,添加对log4net.dll的引用. 在Web.config文件下的Configuration节点下添加Log4Net的配置信息: <!--Log4Net配 ...
随机推荐
- spark-mllib 密集向量和稀疏向量
spark-mllib 密集向量和稀疏向量 MLlib支持局部向量和矩阵存储在单台服务器,也支持存储于一个或者多个rdd的分布式矩阵 . 局部向量和局部矩阵是用作公共接口的最简单的数据模型. 基本的线 ...
- asp.net web api 跨域问题
缘起 以前在asp.net mvc时代,很少出现跨域问题 自从使用了asp.net web api + angular (1/2)之后,开始有跨域问题了. 简单普及下跨域: 我的理解是只要是前台页面与 ...
- dotnet core瘦身发布
需要安装nuget包Microsoft.Packaging.Tools.Trimming然后利用如下命令发布dotnet publish -r win10-x64 -c release --self- ...
- 【转】PowerDesigner快捷键
一般快捷键 快捷键 说明 F4 打开检查模型窗口,检查模型 F5 如果图窗口内的图改变过大小,恢复为原有大小即正常大小 F6 放大图窗口内的图 F7 缩小图窗口内的图 F8 在图窗口内中查看全部图内容 ...
- 【Vue】浅谈Vue不同场景下组件间的数据交流
浅谈Vue不同场景下组件间的数据“交流” Vue的官方文档可以说是很详细了.在我看来,它和react等其他框架文档一样,讲述的方式的更多的是“方法论”,而不是“场景论”,这也就导致了:我们在阅读完 ...
- Android sharedUserId 和系统权限
sharedUserId 给不同的应用使用同一个 sharedUserId 可以运行在这几个应用间互相访问数据(数据库,SharedPreferences,文件). sharedUserId 一旦使用 ...
- Class和普通js构造函数的区别
Class 在语法上更加贴合面向对象的写法 Class 实现继承更加易读.易理解 更易于写 java 等后端语言的使用 本质还是语法糖,使用 prototype Class语法 typeof Math ...
- sax解析xml,验证格式并支持自定义标签
一.sax简介 SAX是事件驱动型的XML解析方式.顺序读取XML文件,生成事件,传播到用户定义的回调方法中来处理XML文件. 优点: 分段处理xml,而不是将整个xml一次加载进内存,内存占用少,速 ...
- ubuntu14中把openssh升级到7.5
经验证可用 下载相关tar.gz包,没有下载到的,可以在这里下载.http://download.csdn.net/download/songanshu/10023663 apt install -y ...
- JavaScript 的 Async\/Await 完胜 Promise 的六
参考:http://www.10tiao.com/html/558/201705/2650964601/1.html Node 现在从版本 7.6 开始就支持 async/await 了. 简介: A ...