1,引用Log4Net.dll 。当前为2.0.8.0版,可添加Nuget包。我的办法是从下载的包中直接引用相应.net版本的dll以减小项目体积

2,在App.config中增加<section>节和<log4net>节。注意一个配置文件最多只能有一个configSections节,如果有必须是第一个节点

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <configuration>
  3. <configSections>
  4. <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  5. </configSections>
  6. <startup>
  7. <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  8. </startup>
  9. <log4net>
  10. <logger name="logerror">
  11. <level value="ERROR" />
  12. <appender-ref ref="ErrorAppender" />
  13. </logger>
  14. <logger name="loginfo">
  15. <level value="INFO" />
  16. <appender-ref ref="InfoAppender" />
  17. </logger>
  18. <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
  19. <param name="File" value="Log\\LogError\\" />
  20. <param name="AppendToFile" value="true" />
  21. <param name="MaxSizeRollBackups" value="100" />
  22. <param name="MaxFileSize" value="10240" />
  23. <param name="StaticLogFileName" value="false" />
  24. <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
  25. <param name="RollingStyle" value="Date" />
  26. <layout type="log4net.Layout.PatternLayout">
  27. <param name="ConversionPattern" value="%n异常时间:%d %n异常级别:%-5p%n异常内容:%m%n" />
  28. </layout>
  29. <!--&lt; &gt; = <> %n = 回车-->
  30. </appender>
  31. <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
  32. <param name="File" value="Log\\LogInfo\\" />
  33. <param name="AppendToFile" value="true" />
  34. <param name="MaxFileSize" value="10240" />
  35. <param name="MaxSizeRollBackups" value="100" />
  36. <param name="StaticLogFileName" value="false" />
  37. <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
  38. <param name="RollingStyle" value="Date" />
  39. <layout type="log4net.Layout.PatternLayout">
  40. <param name="ConversionPattern" value="日志时间:%d %n日志级别:%-5p %n日志内容:%m%n%n" />
  41. </layout>
  42. </appender>
  43. </log4net>
  44. </configuration>
  1. 3,项目AssemblyInfo.cs文件中增加一行代码,指明从配置文件中读取配置

[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch = true)]

4,项目中添加日志类

  1. public class LogHelper
  2. {
  3. private LogHelper()
  4. {
  5. }
  6.  
  7. public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");
  8.  
  9. public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");
  10.  
  11. public static void SetConfig()
  12. {
  13. log4net.Config.XmlConfigurator.Configure();
  14. }
  15.  
  16. public static void SetConfig(FileInfo configFile)
  17. {
  18. log4net.Config.XmlConfigurator.Configure(configFile);
  19. }
  20.  
  21. public static void WriteLog(string info)
  22. {
  23. if (loginfo.IsInfoEnabled)
  24. {
  25. loginfo.Info(info);
  26. }
  27. }
  28.  
  29. public static void WriteLog(string info, Exception se)
  30. {
  31. if (logerror.IsErrorEnabled)
  32. {
  33. logerror.Error(info, se);
  34. }
  35. }
  36. }

5,测试

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace TestLog4Net
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. try
  14. {
  15. LogHelper.WriteLog("程序启动,正常记录!");
  16. int a = Convert.ToInt32("zzz");
  17. }
  18. catch (Exception ex)
  19. {
  20. LogHelper.WriteLog("错误", ex);
  21. }
  22. }
  23. }
  24. }

6,测试结果:运行目录下生成log文件夹,其下两个文件夹:LogError,LogInfo,其内是以日期为文件名的Txt日志

参考:

  C# 使用/配置Log4Net

Log4Net配置使用简记的更多相关文章

  1. Common.Logging log4net Common.Logging.Log4Net 配置

    1.log4net 单独配置 log4net支持多种格式的日志输出,我这里只配置输出到本地的txt文件这种格式. <log4net> <root> <appender-r ...

  2. Log4Net 配置StmpAppender

    目录 Log4Net 配置StmpAppender    1 1.前言    1 2.详细配置    1 1.StmpAppender配置    1 2.Root 配置    2 3.更多选项     ...

  3. C# Log4Net配置

    Log4Net是用来记录日志的,可以将程序运行过程中的信息输出到一些地方(文件.数据库.EventLog等),日志就是程序的黑匣子,可以通过日志查看系统的运行过程,从而发现系统的问题.日志的作用:将运 ...

  4. Log4net配置与使用简要说明

    log4net详细配置:http://logging.apache.org/log4net/本文描述如有错误,以官网的说明为准;p 一:先来看看log4net中的几个概念: 1. log4net继承机 ...

  5. MVC Log4Net 配置

    1.引用log4net.dll 2.在项目根目录下增加log4.config文件 <?xml version="1.0"?> <configuration> ...

  6. ASP.NET MVC学习之Log4Net配置(日志记录)

    Log4Net配置笔记---- 首先,添加对log4net.dll的引用. 在Web.config文件下的Configuration节点下添加Log4Net的配置信息: <!--Log4Net配 ...

  7. C# 日志系统 log4net 配置及使用

    1.引用Dll 版本是:1.2.10.0,下载Dll 2.Web.config文件配置 <?xml version="1.0" encoding="utf-8&qu ...

  8. JWT+Log4net配置与使用

    Log4net的优点        log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.程序运行过 ...

  9. log Log4NET配置

    Log4Net是用来记录日志的,可以将程序运行过程中的信息输出到一些地方(文件.数据库.EventLog等),日志就是程序的黑匣子,可以通过 日志查看系统的运行过程,从而发现系统的问题.日志的作用:将 ...

随机推荐

  1. Linux 增加系统调用 (转)

    Linux 增加系统调用大致步骤: 1.下载好内核文件,在内核源文件中添加好自己的调用函数. 2.编译内核 3.验证. 一.在内核源文件中增加自己的函数 首先将内核文件移至/usr/src/下并解压. ...

  2. JProfiler 8(一个很好的java性能监控工具) 下载和注册码

    windows x64 zip下载地址:http://download-aws.ej-technologies.com/jprofiler/jprofiler_windows-x64_8_0_1.zi ...

  3. Erlang ets -- something about cache continue

    上一次说到了实现一个简单cache 的基本思路和想法, http://www.cnblogs.com/--00/p/erlang_ets_something_about_cache.html 在文末, ...

  4. java 输出helloword

    1,安装jdk;2,配置环境变量;3,新建D:/Test.java文件;4,文件内容如下:public class Test{ public static void main(String[] arg ...

  5. Envoy 源码分析--程序启动过程

    目录 Envoy 源码分析--程序启动过程 初始化 main 入口 MainCommon 初始化 服务 InstanceImpl 初始化 启动 main 启动入口 服务启动流程 LDS 服务启动流程 ...

  6. 【ZZ】国外大型网站使用到编程语言 | 菜鸟教程

    http://www.runoob.com/w3cnote/rogramming-languages-used-in-most-popular-websites.html 下图展示了大型网站使用到的后 ...

  7. 灵活运用SMART原则梳理目标

    1:立刻行动 执行力是老生常谈了,提高执行力不拖延,源自于对目标的充分理解和超出常人的坚持. 如何深刻理解目标?一方面要有基础的知识.能力积累,另一方面要灵活运用SMART原则从不同维度梳理目标. 2 ...

  8. CentOS防火墙中端口的开启和关闭

    1.开启端口(以80端口为例) 方法一: /sbin/iptables -I INPUT -p tcp --dport -j ACCEPT 写入修改 /etc/init.d/iptables save ...

  9. Hive的基本介绍

    Hive最初是应Facebook每天产生的海量新兴社会网络数据进行管理和机器学习的需求而产生和发展的.那么,到底什么是Hive,我们先看看Hive官网Wiki是如何介绍Hive的(https://cw ...

  10. 生成Excel

    生成Excel 需要引用MyXls.SL2.dll的类库: 下载地址:http://sourceforge.net/projects/myxls/ 命名空间using org.in2bits.MyXl ...