iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >C# log4net使用案例详解
  • 496
分享到

C# log4net使用案例详解

2024-04-02 19:04:59 496人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

这边先介绍简单的使用:在控制台输出和写入文件 首先添加log4net的nuget包 然后在app.config中添加配置项==configSections只能有一个,且是config

这边先介绍简单的使用:在控制台输出和写入文件

首先添加log4net的nuget包

然后在app.config中添加配置项==configSections只能有一个,且是configuration的首个节点


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <startup>
    <supportedRuntime version="v4.0" sku=".netFramework,Version=v4.5.2" />
  </startup>
  <log4net>
    <root>
      <level value="WARN" />
      <appender-ref ref="LogFileAppender" />
      <appender-ref ref="ConsoleAppender" />
    </root>

    <logger name="testApp.Logging">
      <level value="DEBUG"/>
    </logger>

    <appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
      <param name="File" value="log_file.txt" />
      <!--<param name="File" value="D:/log_file.txt" />-->
      <param name="AppendToFile" value="true" />

      <layout type="log4net.Layout.PatternLayout">
        <!--<param name="Header" value="[Header] "/>
        <param name="Footer" value="[Footer] "/>-->
        <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
      </layout>

      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="DEBUG" />
        <param name="LevelMax" value="WARN" />
      </filter>
    </appender>
    
    <appender name="ConsoleAppender"  type="log4net.Appender.ConsoleAppender" >
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern"  value="%d [%t] %-5p %c - %m%n" />
      </layout>
    </appender>
  </log4net>
</configuration>

这部分代码也可以单独放在一个配置文件中,起名log4net.config,我们把这个文件和app.config放在同一层

接着在AssemblyInfo.cs下添加特性


//配置文件在app.config中
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
//配置文件在log4net.config中
//[assembly: log4net.Config.XmlConfigurator(ConfigFile="log4net.config", Watch = true)]
Watch=true监视配置文件,当配置文件发生变化的时候,就会重新加载。

static void Main(string[] args)
{
    log4net.ILog log = log4net.LogManager.GetLogger("testApp.Logging");//获取一个日志记录器

    //配置文件在app.config中
    log4net.Config.XmlConfigurator.Configure();
    //配置文件在log4net.config中
    //string assemblyFilePath = Assembly.GetExecutingAssembly().Location;
    //string assemblyDirPath = Path.GetDirectoryName(assemblyFilePath);
    //DirectoryInfo pathInfo = new DirectoryInfo(assemblyDirPath);
    //string configFilePath = pathInfo.Parent.Parent.FullName + "//log4net.config";
    //log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(configFilePath));
    //绝对路径
    //log4net.Config.XmlConfigurator.Configure(newSystem.IO.FileInfo(@"E:/DEMO/Log4NetDemo/emoTest/log4net.config"));
    
    Thread.CurrentThread.Name = "main";
    log.Debug("初始化连接开始");
    log.Warn("测试");
    log.Info(DateTime.Now.ToString() + ": login success");
    
    Console.ReadKey();
}

到此这篇关于C# log4net使用案例详解的文章就介绍到这了,更多相关Java log4net使用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C# log4net使用案例详解

本文链接: https://www.lsjlt.com/news/132591.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C# log4net使用案例详解
    这边先介绍简单的使用:在控制台输出和写入文件 首先添加log4net的nuget包 然后在app.config中添加配置项==configSections只能有一个,且是config...
    99+
    2024-04-02
  • 详解log4net的使用
    log4net是一个开源的日志记录框架,用于将应用程序的日志输出到不同的目标(如文件、数据库、控制台等)。它提供了灵活的配置选项,可...
    99+
    2023-09-15
    log4net
  • C# AttributeUsage使用案例详解
    C# AttributeUsage的使用是如何的呢?首先让我们来了解一下什么是AttributeUsage类它是另外一个预定义特性类,AttributeUsage类的作用就是帮助我们...
    99+
    2024-04-02
  • C# PropertyGrid使用案例详解
    1. 只有public的property能显示出来,可以通过BrowsableAttribute来控制是否显示,通过CategoryAttribute设置分类,通过Descripti...
    99+
    2024-04-02
  • asp.net中使用log4net详解
    说明:本程序演示如何利用log4net记录程序日志信息。log4net是一个功能著名的开源日志记录组件。利用log4net可以方便地将日志信息记录到文件、控制台、Windows事件日...
    99+
    2024-04-02
  • C++ LARGE_INTEGER解析与使用案例详解
    这里解释前面碰到的LARGE_INTEGER结构。与可能的误解不同,64位数据并非要在64位操作系统下才能使用。在VC中,64位数据的类型为__int64。定义写法如下: ...
    99+
    2024-04-02
  • C# ThreadPool之QueueUserWorkItem使用案例详解
    先看代码: //设置可以同时处于活动状态的线程池的请求数目。 bool pool = ThreadPool.SetMaxThreads(8, 8); if (pool) { ...
    99+
    2024-04-02
  • C#11新特性使用案例详解
    目录前言新特性之原始字符串使用案例原始字符串使用需要注意的地方什么情况下需要超过三个双引号开头尾引号和尾引号前面的换行符不包括在最终内容中结尾的三个引号不另起一行行不行和内插字符一起...
    99+
    2024-04-02
  • C++中std::allocator的使用案例详解
    标准库中包含一个名为allocator的类,允许我们将分配和初始化分离。使用allocator通常会提供更好的性能和更灵活的内存管理能力。    ...
    99+
    2024-04-02
  • C++ ostream用法案例详解
    概述 在 C++中,ostream表示输出流,英文”output stream“的简称。在 C++中常见的输出流对象就是标准输出流cout,很少自定义ostream的对象,更多的是直...
    99+
    2024-04-02
  • C# Request.Form用法案例详解
    在CS文件中获得对应页面中的下拉框DropDownList_sitebranch值可以有以下几种方法获得: siteInfo.FZJGID = DropDownList_site...
    99+
    2024-04-02
  • C# pictureBox用法案例详解
    PictureBox 控件可以显示来自位图、图标或者元文件,以及来自增强的元文件、JPEG 或 GIF 文件的图形。如果控件不足以显示整幅图象,则裁剪图象以适应控件的大小。 本文利用...
    99+
    2024-04-02
  • C++ cin.get用法案例详解
    与字符串输入一样,有时候使用 cin>> 读取字符也不会按我们想要的结果行事。 例如,因为它会忽略掉所有前导白色空格,所以使用 cin>> 就不可能仅输入一个...
    99+
    2024-04-02
  • C++ odr用法案例详解
    // The main module. File: odr_test1.cpp #include <iostream> void module1_print...
    99+
    2024-04-02
  • C++ GetDlgItem用法案例详解
    GetDlgItem的用法小结 GetDlgItem用于获得指定控件ID的窗体指针,函数原型如下: HWND GetDlgItem( HWND hDlg, int nI...
    99+
    2024-04-02
  • C# Console.WriteLine()用法案例详解
    以前用Console.WriteLine()的时候就只会用它直接输出string字符串,但后来发现它还有其它在有些场合下会十分方便的输出方法,这篇就记录一下这些方法的使用吧。 代码格...
    99+
    2024-04-02
  • C++ template用法案例详解
    有必要记一下这种一眼看上去就很高级的用法。还是编程不够多。都没用过这个。 相信用过c++的人,即便没用过,也肯定都听说过模板类这个词。嗨不巧了,今天讲的就是模板类。 模板是c++支持...
    99+
    2024-04-02
  • C# DialogResult用法案例详解
    在程序中,经常会弹出一个对话框来让用户填写一些信息,填写完成后,当用户点击“确定”按钮后,在主窗体中进行其他的处理。比如一个简单的例子,在主窗体中有一个菜单,是“增加用户”,当点击这...
    99+
    2024-04-02
  • C# TreeNode案例详解
    目录添加节点删除修改方法1:方法二:添加节点 private void Form1_Load(object sender, EventArgs e) { tree...
    99+
    2024-04-02
  • C# Assembly.Load案例详解
     我们在使用C# 语言的Assembly.Load 来加载托管程序集并使用反射功能时,一般需要先通过Assembly.Load(), Assembly.LoadFrom()...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作