分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

.Net中Log4Net的使用

发布时间:2023-09-06 02:11责任编辑:白小东关键词:暂无标签

2018-08-23 14:38:05

.Net中Log4Net的使用

一、log4net 分类型记录日志存放多个日志文件

1、在webconfig里添加配置

  1.1 在<configSections> 中添加节点

1 <configSections>2 <configSections>3 ????<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>4 ??</configSections>5 </configSections>

  1.2 添加log4net配置section

<log4net> ???<appender name="fatalAppender" type="log4net.Appender.RollingFileAppender"> ?????<filter type="log4net.Filter.LevelMatchFilter"> ???????<levelToMatch value="FATAL" /> ?????</filter> ?????<filter type="log4net.Filter.DenyAllFilter" /> ?????<File value="Logs\fatal.log" /> ?????<appendToFile value="true" /> ?????<rollingStyle value="Date" /> ?????<datePattern value="yyyyMMdd" /> ?????<layout type="log4net.Layout.PatternLayout"> ???????<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> ?????</layout> ???</appender> ???<appender name="errorAppender" type="log4net.Appender.RollingFileAppender"> ?????<filter type="log4net.Filter.LevelMatchFilter"> ???????<levelToMatch value="ERROR" /> ?????</filter> ?????<filter type="log4net.Filter.DenyAllFilter" /> ?????<File value="Logs\err.log" /> ?????<appendToFile value="true" /> ?????<rollingStyle value="Date" /> ?????<datePattern value="yyyyMMdd" /> ?????<layout type="log4net.Layout.PatternLayout"> ???????<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> ?????</layout> ???</appender> ???<appender name="warnAppender" type="log4net.Appender.RollingFileAppender"> ?????<filter type="log4net.Filter.LevelMatchFilter"> ???????<levelToMatch value="WARN" /> ?????</filter> ?????<filter type="log4net.Filter.DenyAllFilter" /> ?????<File value="Logs\warn.log" /> ?????<appendToFile value="true" /> ?????<rollingStyle value="Date" /> ?????<datePattern value="yyyyMMdd" /> ?????<layout type="log4net.Layout.PatternLayout"> ???????<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> ?????</layout> ???</appender> ???<appender name="infoAppender" type="log4net.Appender.RollingFileAppender"> ?????<filter type="log4net.Filter.LevelMatchFilter"> ???????<levelToMatch value="INFO" /> ?????</filter> ?????<filter type="log4net.Filter.DenyAllFilter" /> ?????<File value="Logs\info.log" /> ?????<appendToFile value="true" /> ?????<rollingStyle value="Date" /> ?????<datePattern value="yyyyMMdd" /> ?????<layout type="log4net.Layout.PatternLayout"> ???????<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> ?????</layout> ???</appender> ???<appender name="debugAppender" type="log4net.Appender.RollingFileAppender"> ?????<filter type="log4net.Filter.LevelMatchFilter"> ???????<levelToMatch value="DEBUG" /> ?????</filter> ?????<filter type="log4net.Filter.DenyAllFilter" /> ?????<File value="Logs\debug.log" />  <!--这里可以配置日志存放位置--> ?????<appendToFile value="true" /> ?????<rollingStyle value="Date" /> ?????<datePattern value="yyyyMMdd" /> ?????<layout type="log4net.Layout.PatternLayout"> ???????<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> ?????</layout> ???</appender> ???<appender name="perfAppender" type="log4net.Appender.RollingFileAppender"> ?????<filter type="log4net.Filter.LevelMatchFilter"> ???????<levelToMatch value="INFO" /> ?????</filter> ?????<filter type="log4net.Filter.DenyAllFilter" /> ?????<File value="Logs\perf.log" /> ?????<appendToFile value="true" /> ?????<rollingStyle value="Date" /> ?????<datePattern value="yyyyMMdd" /> ?????<layout type="log4net.Layout.PatternLayout"> ???????<conversionPattern value="%date %logger - %message%newline" /> ?????</layout> ???</appender> ???<root> ?????<level value="ALL" /> ?????<appender-ref ref="fatalAppender" /> ?????<appender-ref ref="errorAppender" /> ?????<appender-ref ref="warnAppender" /> ?????<appender-ref ref="infoAppender" /> ?????<appender-ref ref="debugAppender" /> ???</root> ?</log4net>

2、在Global.asax.cs里添加

 log4net.Config.XmlConfigurator.Configure();

3、添加 helper类

using log4net;using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace TestLog4Net{ ???public class log4netHelper ???{ ???????public static void Fatal(Type type, object message, Exception exception = null) ???????{ ???????????ILog log = LogManager.GetLogger(type); ???????????if (exception == null) ???????????????log.Fatal(message); ???????????else ???????????????log.Fatal(message, exception); ???????} ???????public static void Error(Type type, object message, Exception exception = null) ???????{ ???????????ILog log = LogManager.GetLogger(type); ???????????if (exception == null) ???????????????log.Error(message); ???????????else ???????????????log.Error(message, exception); ???????} ???????public static void Warn(Type type, object message, Exception exception = null) ???????{ ???????????ILog log = LogManager.GetLogger(type); ???????????if (exception == null) ???????????????log.Warn(message); ???????????else ???????????????log.Warn(message, exception); ???????} ???????public static void Info(Type type, object message, Exception exception = null) ???????{ ???????????ILog log = LogManager.GetLogger(type); ???????????if (exception == null) ???????????????log.Info(message); ???????????else ???????????????log.Info(message, exception); ???????} ???????public static void Debug(Type type, object message, Exception exception = null) ???????{ ???????????ILog log = LogManager.GetLogger(type); ???????????if (exception == null) ???????????????log.Debug(message); ???????????else ???????????????log.Debug(message, exception); ???????} ???}}

4、代码里使用

 ??ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);//获取一个日志记录器 ???????????log4netHelper.Fatal(this.GetType(), "Fatal"); ??????????????????????????//致命错误 ???????????log4netHelper.Error(this.GetType(), "Error", new Exception("error")); ??//错误 ???????????log4netHelper.Warn(this.GetType(), "Warn"); ????????????????????????????//禁告 ???????????log4netHelper.Info(this.GetType(), "Info"); ????????????????????????????//信息 ???????????log4netHelper.Debug(this.GetType(), "Debug"); ??????????????????????????//调试

FATAL(致命错误):记录系统中出现的能使用系统完全失去功能,服务停止,系统崩溃等使系统无法继续运行下去的错误。例如,数据库无法连接,系统出现死循环。

ERROR(一般错误):记录系统中出现的导致系统不稳定,部分功能出现混乱或部分功能失效一类的错误。例如,数据字段为空,数据操作不可完成,操作出现异常等。

WARN(警告):记录系统中不影响系统继续运行,但不符合系统运行正常条件,有可能引起系统错误的信息。例如,记录内容为空,数据内容不正确等。

INFO(一般信息):记录系统运行中应该让用户知道的基本信息。

DEBUG (调试信息):记录系统用于调试的一切信息,内容或者是一些关键数据内容的输出。

 

二、存放单个日志

1、

.Net中Log4Net的使用

原文地址:https://www.cnblogs.com/i-mengli/p/9523440.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved