温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C#中log4net的使用实例介绍

发布时间:2021-08-16 09:45:40 来源:亿速云 阅读:179 作者:chen 栏目:开发技术

这篇文章主要讲解了“C#中log4net的使用实例介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#中log4net的使用实例介绍”吧!

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

首先添加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的使用实例介绍”的内容了,经过本文的学习后,相信大家对C#中log4net的使用实例介绍这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI