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配 ...
随机推荐
- .net MVC, webAPI,webForm集成steeltoe+springcloud实现调用服务中心服务的总结
开始之前,如果没接触过Autofac的,可以移步到Autofac官方示例学习一下怎么使用:https://github.com/autofac/Examples .net 下集成steeltoe进行微 ...
- Kali Linux渗透测试实战 2.1 DNS信息收集
目录 2.1 DNS信息收集1 2.1.1 whois查询3 2.1.2 域名基本信息查询4 Dns服务器查询4 a记录查询4 mx记录查询5 2.1.3 域名枚举5 fierse 5 dnsdict ...
- 你所不知道的ASP.NET Core MVC/WebApi基础系列 (二)
转自博客:https://www.cnblogs.com/CreateMyself/p/10604293.html 前言 本节内容,我们来讲讲.NET Core当中的模型绑定系统.模型绑定原理.自定义 ...
- 数据库操作类《SqlHelper》
一.背景 在看了一本书叫<Visual Studio 2010(C#)Windows数据库项目开发>后,觉得很多编程技术需要积累,因为一个简单的项目里包含的技术太多了,容易忘记.每次需要用 ...
- MySQL字符集的设置
Notice:文章基于ubuntu系统而写 1.关于MySQL字符集 MySQL的字符集支持(Character Set Support)有两个方面: 字符集(Character set)和排序方式( ...
- IO、NIO、AIO
一. IO 传统的IO是同步阻塞模式,数据的读取与写入会阻塞在一个线程内等待其完成. 主要面向字节流编程.(流是单向的) 二. NIO NIO支持同步非阻塞模式,在进行IO调用后,然后去 轮询调用结果 ...
- SSH 学习笔记
零.背景 在看 pm2 的 deploy 功能的时候,对 ssh 的不熟悉导致错误频出,包括之前对 github 的配置也用到了 SSH,所以找个机会整理一下. 一.介绍 SSH 是每一台 Linux ...
- WebDriver高级应用实例(4)
4.1操作web页面的滚动条 被测网页的网址: http://v.sogou.com Java语言版本的API实例代码 import org.testng.annotations.Test; impo ...
- TortoiseSVN切换更改登录账号密码
TortoiseSVN切换更改登录账号密码 方法: 在TortoiseSVN的设置对话框中,选择“已保存数据”,在“认证数据”那一行点击“清除”按钮,清楚保存的认证数据,再检出的时候就会重新跳出用户名 ...
- JVM中强引用,弱引用,软引用和幽灵引用的代码
上代码: public class ReferenceTest { public static void main(String[] args) { //test1();//软引用 //test2() ...