其他配置详情在网上都可以找到,但是很多看着都晕,本人就记录一下如何使用:

  1、按不同级别(官方说明)可记录的日志级别有:

    Info、Warn、Error、Debug

  2、可以按着四个配置四个输出日志路径和配置文件的配置节点

  可以在filter节点中配置value来区别记录日志的级别

  例如:

<appender name="Errorlog" type="log4net.Appender.RollingFileAppender"><!--定义文件存放位置--><file value="Errorlog\\"/><appendToFile value="true"/><rollingStyle value="Date"/><datePattern value="yyyyMMdd'.txt'"/><staticLogFileName value="false"/><param name="MaxSizeRollBackups" value="100"/><layout type="log4net.Layout.PatternLayout"><!--每条日志末尾的文字说明输出格式样例:2008-03-26 13:42:32,111 [10] INFO  Log4NetDemo.MainClass [(null)] - info<conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别:  %-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%newline %n"/>--><conversionPattern value="%date 描述:%message%n"/></layout><filter type="log4net.Filter.LevelRangeFilter"><param name="LevelMin" value="ERROR"/><param name="LevelMax" value="ERROR"/></filter></appender>

然后可以根据自己需要配置不同的输出路径,注意filter里的param节点的value必须大写并只能是四种节点的一种value

最终可以在logger节点中配置指向appender

<logger name="myLogger">
<level value="ALL"/>
<appender-ref ref="Errorlog"/>
<appender-ref ref="Runlog"/>
<appender-ref ref="Warnlog"/>
<appender-ref ref="Debuglog"/>
<!--<appender-ref ref="ErrorLoging" />-->
</logger>

最后附上配置文件以及LogHelper类:

<?xml version="1.0" encoding="utf-8"?>
<configuration><configSections><section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/></configSections><log4net><!--定义输出到文件中--><appender name="Errorlog" type="log4net.Appender.RollingFileAppender"><!--定义文件存放位置--><file value="Errorlog\\"/><appendToFile value="true"/><rollingStyle value="Date"/><datePattern value="yyyyMMdd'.txt'"/><staticLogFileName value="false"/><param name="MaxSizeRollBackups" value="100"/><layout type="log4net.Layout.PatternLayout"><!--每条日志末尾的文字说明输出格式样例:2008-03-26 13:42:32,111 [10] INFO  Log4NetDemo.MainClass [(null)] - info<conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别:  %-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%newline %n"/>--><conversionPattern value="%date 描述:%message%n"/></layout><filter type="log4net.Filter.LevelRangeFilter"><param name="LevelMin" value="ERROR"/><param name="LevelMax" value="ERROR"/></filter></appender><appender name="Runlog" type="log4net.Appender.RollingFileAppender"><!--定义文件存放位置--><file value="Runlog\\"/><appendToFile value="true"/><rollingStyle value="Date"/><datePattern value="yyyyMMdd'.txt'"/><staticLogFileName value="false"/><param name="MaxSizeRollBackups" value="100"/><layout type="log4net.Layout.PatternLayout"><!--每条日志末尾的文字说明输出格式样例:2008-03-26 13:42:32,111 [10] INFO  Log4NetDemo.MainClass [(null)] - info<conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别:  %-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%newline %n"/>--><conversionPattern value="%date 描述:%message%n"/></layout><filter type="log4net.Filter.LevelRangeFilter"><param name="LevelMin" value="INFO"/><param name="LevelMax" value="INFO"/></filter></appender><appender name="Warnlog" type="log4net.Appender.RollingFileAppender"><!--定义文件存放位置--><file value="Warnlog\\"/><appendToFile value="true"/><rollingStyle value="Date"/><datePattern value="yyyyMMdd'.txt'"/><staticLogFileName value="false"/><param name="MaxSizeRollBackups" value="100"/><layout type="log4net.Layout.PatternLayout"><!--每条日志末尾的文字说明输出格式样例:2008-03-26 13:42:32,111 [10] INFO  Log4NetDemo.MainClass [(null)] - info<conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别:  %-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%newline %n"/>--><conversionPattern value="%date 描述:%message%n"/></layout><filter type="log4net.Filter.LevelRangeFilter"><param name="LevelMin" value="WARN"/><param name="LevelMax" value="WARN"/></filter></appender><appender name="Debuglog" type="log4net.Appender.RollingFileAppender"><!--定义文件存放位置--><file value="Debuglog\\"/><appendToFile value="true"/><rollingStyle value="Date"/><datePattern value="yyyyMMdd'.txt'"/><staticLogFileName value="false"/><param name="MaxSizeRollBackups" value="100"/><layout type="log4net.Layout.PatternLayout"><!--每条日志末尾的文字说明输出格式样例:2008-03-26 13:42:32,111 [10] INFO  Log4NetDemo.MainClass [(null)] - info<conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别:  %-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%newline %n"/>--><conversionPattern value="%date 描述:%message%n"/></layout><filter type="log4net.Filter.LevelRangeFilter"><param name="LevelMin" value="DEBUG"/><param name="LevelMax" value="DEBUG"/></filter></appender><logger name="myLogger"><level value="ALL"/><appender-ref ref="Errorlog"/><appender-ref ref="Runlog"/><appender-ref ref="Warnlog"/><appender-ref ref="Debuglog"/><!--<appender-ref ref="ErrorLoging" />--></logger><!--<root><level value="ALL"/>--><!--文件形式记录日志--><!--<appender-ref ref="SuoerServerLog"/><appender-ref ref="PDFWatcherLog"/></root>--></log4net><startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
</configuration>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
namespace DotNet.Utilities.Log
{public class LogHelper{//配置loger指向static log4net.ILog log = log4net.LogManager.GetLogger("myLogger");/// <summary>/// 输出日志到Log4Net/// </summary>/// <param name="t"></param>/// <param name="msg"></param>#region Error节点public static void WriteErrorLog(string msg){//log4net.ILog log = log4net.LogManager.GetLogger(t);
            log.Error(msg);}#endregion#region Info节点public static void WriteInfoLog(string msg){//log4net.ILog log = log4net.LogManager.GetLogger(t);
            log.Info(msg);}#endregion#region Debug节点public static void WriteDebugLog(string msg){//log4net.ILog log = log4net.LogManager.GetLogger(t);
            log.Debug(msg);}#endregion#region Warn节点public static void WriteWarnLog(string msg){//log4net.ILog log = log4net.LogManager.GetLogger(t);
            log.Warn(msg);}#endregion}
}

转载于:https://www.cnblogs.com/FangMingHuan/p/5832931.html

.Net Log4Net配置多文件日志记录相关推荐

  1. 七、.net core(.NET 6)使用Serilog进行配置和实现日志记录

    使用Serilog来实现日志记录 先安装Serilog六件套神装包: 也可以对个别相应的包进行删除等,都是可以的.例如,标注的1是读取配置文件的,如果不需要通过配置文件进行操作,就可以使用这个包.2是 ...

  2. 配置Haproxy增加日志记录功能

    2019独角兽企业重金招聘Python工程师标准>>> CentOS 7上yum安装的Haproxy,默认没有记录日志.需要做一下配置才能记录日志. 1.创建日志文件/var/log ...

  3. log4net配置学习 之 日志等级

    Logger hierarchy(层次级别) Logger都是已经命名的实体. Logger的名称区分大小写并遵循以下规则: 1.如果A logger的名称如果是B logger名称的前缀(通过&qu ...

  4. 如何配置log4j2日志记录至数据库

    log4j2可灵活的将日志打印在控制台.通过SMTP邮件发送.记录至文件.保存至数据库.本文介绍如何配置log4j2将日志记录至数据库 建立用于保存日志的数据库表: CREATE TABLE `sys ...

  5. Spring boot logback的使用(日志记录)

    1 在spring boot中已经自动包含了logback的jar包,如果不是spring boot需要在maven中导入依赖 <!-- https://mvnrepository.com/ar ...

  6. 计算机中记录的意思,电脑日志看不懂,怎么才能知道日志记录的是什么意思啊?...

    满意答案 漠w然S 2013.06.14 采纳率:48%    等级:13 已帮助:7471人 (一)启用或禁用日志记录 如果希望 IIS 基于配置的条件有选择地记录特定的服务器请求,就应为服务器启用 ...

  7. Spring Cloud 设置Feign的日志记录级别

    <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-c ...

  8. 查看ssis执行日志_SSIS包日志记录概述

    查看ssis执行日志 This article gives an overview of the different methods of SQL Server SSIS Package Loggin ...

  9. windows log日志分割_如何将日志记录到 Windows事件日志 中

    每当出现一些未捕获异常时,操作系统都会将异常信息写入到 Windows 事件日志 中,可以通过 Windows 事件查看器 查看,如下图: 这篇文章将会讨论如何使用编程的方式将日志记录到 Window ...

  10. Spring / Hibernate使用log4jdbc改进了SQL日志记录

    Hibernate提供了开箱即用的SQL日志记录,但是这种日志记录仅显示准备好的语句,而不显示发送到数据库的实际SQL查询. 它还不会记录每个查询的执行时间,这对于性能故障排除很有用. 这篇博客文章将 ...

最新文章

  1. 堆叠柱形图上自定义数字_柱形图的类别标签太长太宽,倾斜起来了怎么办?
  2. NetDevOps — OpenConf 协议
  3. Java OR Android
  4. iphonex价格_iPhone12成10年内最受期待的苹果手机,但价格会狂涨
  5. 分治、贪心、动态规划的简单理解
  6. 几种Lucene.Net打开IndexReader的方式
  7. 【技术累积】【点】【java】【29】MapUtils
  8. 很大的.xls 文件导入sqlserver2005导入不全_python3 接口测试数据驱动之操作 excel 文件...
  9. in ms sql 集合参数传递_mybatis从入门到精通,第三篇《动态SQL》,干货满满
  10. Tensorflow保存神经网络参数有妙招:Saver和Restore
  11. 9.2【彩色模型】-----基于Opencv实现-----把一幅RGB图转为CMY图
  12. MapGIS 数据管理——数据管理与显示模型架构
  13. 苹果付费app共享公众号_8.11号,IOS苹果App Store 5款付费App限时免费,支持iPhone/iPad...
  14. Windows 7装机必备 - 主流品牌驱动大集合
  15. 青少年CTF-Web-CheckMe01
  16. 区块链指南 第2章 区块链基础
  17. 超简单集成华为HMS Core MLKit通用卡证识别SDK,一键实现各种卡绑定
  18. CUDA学习(二)-NVCC的编译过程及命令
  19. TM1650读取按键值异常
  20. 北邮研究生《计算机网络原理》课程期末通过经验

热门文章

  1. 【颜色识别】【Python+OpenCV】KNN(K近邻算法)实现魔方颜色识别【 3-1】
  2. C/C++移位运算符
  3. 基于python sklearn的 SVM支持向量机 类实现
  4. GIS案例练习-----------第十天
  5. 专题三——枚举、模拟、排序
  6. mean shift
  7. 基于高程的地面点云信息提取
  8. Redis客户端Redisson+SpringBoot实现的分布式锁案例
  9. 两个整形变量值交换的五种境界
  10. Android CertificateSource系统根证书的检索和获取