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

  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=""/>
<layout type="log4net.Layout.PatternLayout">
<!--每条日志末尾的文字说明
输出格式
样例:-- ::, [] 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=""/>
<layout type="log4net.Layout.PatternLayout">
<!--每条日志末尾的文字说明
输出格式
样例:-- ::, [] 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=""/>
<layout type="log4net.Layout.PatternLayout">
<!--每条日志末尾的文字说明
输出格式
样例:-- ::, [] 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=""/>
<layout type="log4net.Layout.PatternLayout">
<!--每条日志末尾的文字说明
输出格式
样例:-- ::, [] 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=""/>
<layout type="log4net.Layout.PatternLayout">
<!--每条日志末尾的文字说明
输出格式
样例:-- ::, [] 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 }
}

.Net Log4Net配置多文件日志记录的更多相关文章

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

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

  2. log4net.NoSql +ElasticSearch 实现日志记录

    前言: 前两天在查找如何扩展log4net的日志格式时找到一个开源项目Log4net.NoSql,它通过扩展Appender实现了把日志输出到ElasticSearch里面.顺藤摸瓜,发现涉及的项目还 ...

  3. 转:使用log4net完成程序异常日志记录(使用SQLite数据库记录和普通文本记录)

    http://www.cnblogs.com/kyo-yo/archive/2010/06/11/use-log4net-to-log-exception.html 在前端时间开发的时候由于需要将异常 ...

  4. 在android中配置 slf4j + log4j 日志记录框架

    需求: 在项目开发中,需要记录 操作日志 .起初自己写了个简单的日志记录文本写入到文本的方法,后来随着项目的膨胀,需要考虑更多的操作,开始考虑性能问题. 实现: 考虑使用 slf4j + log4j ...

  5. .Net Core(.NET6)中接入Log4net和NLog进行日志记录

    一.接入Log4net 1.按日期和大小混合分割日志 nuget包安装 log4net Microsoft.Extensions.Logging.Log4Net.AspNetCore 配置文件 配置文 ...

  6. ELK日志框架(2):log4net.ElasticSearch+ Kibana实现日志记录和显示

    环境说明 1. windows server 2012 R2 64位 2. log4net.ElasticSearch 3. kibana-5.5.0-windows-x86.zip 架构说明 数据采 ...

  7. Spring自定义注解配置切面实现日志记录

    一: spring-mvc.xml: <!--配置日志切面 start,必须与mvc配置在同一个配置文件,否则无法切入Controller层--><!-- 声明自动为spring容器 ...

  8. IIS 7完全攻略之日志记录配置(摘自网络)

    IIS 7完全攻略之日志记录配置 作者:泉之源 [IT168 专稿]除了 Windows 提供的日志记录功能外,IIS 7.0 还可以提供其他日志记录功能.例如,可以选择日志文件格式并指定要记录的请求 ...

  9. ASP.NET Core 异常处理与日志记录

    1. ASP.NET Core 异常处理与日志记录 1.1. 异常处理 1.1.1. 异常产生的原因及处理 1.1.2. ASP.NET Core中启动开发人员异常页面 1.2. 日志记录 1.2.1 ...

随机推荐

  1. SignalR

    https://msdn.microsoft.com/zh-cn/magazine/dn802609.aspx http://www.asp.net/signalr/overview/getting- ...

  2. iOS 分享至友盟分享

    iOS 友盟分享 这个主要是提到如何通过友盟去自定义分享的步骤: 一.肯定要去友盟官网下载最新的SDK包,然后将SDK导入到你的工程文件夹里面去: 二.注册友盟账号,将你的APP添加到你的账号里面然后 ...

  3. java Collections.sort()实现List排序自定义方法

    方法一: package testSimple; import java.util.ArrayList; import java.util.Collections; import java.util. ...

  4. Control.DataBinding数据绑定简单用法:

    DataBindings的用法: 第一个值:要绑定到TextBox的什么地方 第二个值:数据源是什么 第三个值:应该取数据源的什么属性 第四个值:是否开启数据格式化 第五个值:在什么时候启用数据源绑定 ...

  5. Android TabWidget底部显示

    TabHost控件默认使用LinearLayout包裹TabWidget和FrameLayout,布局文件如下: <TabHost xmlns:android="http://sche ...

  6. AS3和js相互通信要点分析

    目标:在html页面里可以使用事件来影响到swf文件的内容,swf文件也可以影响html里js代码的内容 一.新建flash文件,用Flash CC试用版新建一个TextArea.fla的源文件,不添 ...

  7. frame里的链接跳转

    <a href="javascript:parent.location='index_frame.html';void(0);">索引</a> <a ...

  8. python——django的post请求

    两次被同一块石头绊倒简直不可原谅!第一次写django程序的时候,就因为ajax post请求折腾了整整一天,时隔两个多月昨天又被虐一整晚.叔可忍婶儿也不能忍了!!!重要的事情写下来,为以后轻松碾压p ...

  9. html5对密码加密

    今天找了几个关于对html5的密码加密的方法,仅供参考 1.base64加密:在页面中引入base64.js文件,调用方法为: <html> <head> <meta c ...

  10. 关于firstChild,firstElementChild和children

    <div> <p>123</p> </div> 在上面这段代码中,如果使用以下js代码 var oDiv=document.getElementByTa ...