这里就简单介绍下log4Net对写入日志文件的一些了解,写入数据库类似,就不在一一介绍了。

   首先去log4net下载.

   然后我们新建一个控制台应用程序,并引入log4net.dll程序集,log4net/bin/net/4.5/release/log4net.dll

    接下来,我们在app.config配置如下。

  

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<!--log4Net块配置-->
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>

<log4net>
<!-- Define some output appenders -->
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
   <!--输出文件路径-->
<file value="D:\\test.txt"/>
<appendToFile value="true"/>
<!--最多10个日志备份文件-->
<maxSizeRollBackups value="10"/>
<!--每个文件最大1M-->
<maximumFileSize value="1024KB"/>
<!--回滚的格式按照大小-->
<rollingStyle value="Size"/>

<staticLogFileName value="true"/>

<layout type="log4net.Layout.PatternLayout">
      <!--输出内容 分别为:%date日期,%thread线程ID,(%-5level)等级,(%logger)初始配置时自定义的名字,%message消息,%newline换行-->
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
</layout>
</appender>

<root>
    <!--输出等级限制-->
  <!--控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF-->

  <!--比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录-->

<!--如果没有定义LEVEL的值,则缺省为DEBUG-->

<level value="DEBUG"/>
<appender-ref ref="RollingLogFileAppender"/>
</root>

</log4net>

<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>

  

然后我们在Program.cs使用如下。

  

 //从配置文件读取log4net的配置,然后进行一个初始化工作。
log4net.Config.XmlConfigurator.Configure(); //创建一个实例,名字可随便取
ILog logWriete = log4net.LogManager.GetLogger("Demo2");
//这里输出的类型为error
logWriete.Error("哈哈");

  Console.WriteLine("成功!");
  Console.ReadKey();

接下效果如下:

  ---------------------------------------------------------------华丽分割线---------------------------------------------------------------------

  有些时候,我们要把为了区分配置,把log4Net的配置独立在一个文件里。

  在这里,我就在当前项目的根目录下,创建一个config或者是XML文件。

  这里我就创建一个名字为log4Net.xml文件。

  其次,我们右键=》属性,把《复制到输出目录》项改为始终赋值。

  并配置 logNet.xml内容如下。

  

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<!--log4Net块配置-->
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections> <log4net>
<!-- Define some output appenders -->
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
   <!--输出文件路径-->
<file value="D:\\test.txt"/>
<appendToFile value="true"/>
<!--最多10个日志备份文件-->
<maxSizeRollBackups value=""/>
<!--每个文件最大1M-->
<maximumFileSize value="1024KB"/>
<!--回滚的格式按照大小-->
<rollingStyle value="Size"/> <staticLogFileName value="true"/> <layout type="log4net.Layout.PatternLayout">
      <!--输出内容 分别为:%date日期,%thread线程ID,(%-5level)等级,(%logger)初始配置时自定义的名字,%message消息,%newline换行-->
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
</layout>
</appender> <root>
    <!--输出等级限制-->
  <!--控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF-->   <!--比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录--> <!--如果没有定义LEVEL的值,则缺省为DEBUG--> <level value="DEBUG"/>
<appender-ref ref="RollingLogFileAppender"/>
</root> </log4net> </configuration>

  然后,我们把app.config中的所有log4Net配置都去掉。

  

<?xml version="1.0" encoding="utf-8" ?>
<configuration> <startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup> </configuration>

  最后我们在Program.cs使用如下。

 //从配置文件读取log4net的配置,然后进行一个初始化工作。
log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(@"log4Net.xml"));//这里指定路径 /*
有些人,是直接在调用类命名上面直接打上,[assembly: log4net.Config.XmlConfigurator(ConfigFile = @"log4Net.xml", Watch = true)]这一句也是可以的。 其次,只要是ConfigureAndWatch上面这一句
在lognet.xml文件中的<<log4Net块配置>>是可以去掉的。
*/ //创建一个实例,名字可随便取
ILog logWriete = log4net.LogManager.GetLogger("Demo2");
//这里输出的类型为error
logWriete.Error("哈哈");
  Console.WriteLine("成功!");
  Console.ReadKey();

  注意事项。

    1:如果报错,请查看配置节点。

    2:如果没报错,而并没有输出文件,请查看调用的时候是否有初始化配置这一句代码。

本文结束。

      

     如果问题,欢迎讨论,咨询,建议,意见。

log4Net(写入日志文件)的更多相关文章

  1. 【.net 深呼吸】写入日志文件

    记录日志,一方面可以把日志写入系统的日志存储中,可在“事件查看器”窗口中查看:如果不喜欢写到系统的日志文件中,也可以写到自己定义的文件中. 其实,日志文件就是文本文件,可能有朋友会想到用写入文本文件的 ...

  2. 使用log4net生成日志文件

    (一)使用log4net生成日志文件   1.引入log4net.dll 1.1 Nuget安装 或 http://logging.apache.org/log4net/下载log4net的源代码,编 ...

  3. (一)使用log4net生成日志文件

    1.引入log4net.dll 1.1 Nuget安装 或 http://logging.apache.org/log4net/下载log4net的源代码,编译后把log4net.dll引入项目. 2 ...

  4. weblogic开启http访问日志并实时写入日志文件

    由于http访问会产生大量日志,耗去不少IO和CPU所以在生产一般是不启用的:但有时我们会想启用http访问日志,尤其是在系统上线调试的时候. weblogic的日志默认在domain_name/se ...

  5. ZH奶酪:PHP error_log()将错误信息写入日志文件

    error_log() 是发送错误信息到某个地方的一个函数,在程序编程中比较常见,尤其是在程序调试阶段. bool error_log ( string $message [, int $messag ...

  6. 使用log4net将日志文件输出为csv格式

    我们在编写程序时,会在程序运行过程中记录一些日志.log4net作为一款经久耐用的日志组件,值得我们信赖.在中小型公司中,往往没有专业的日志服务器来处理应用程序产生的日志,而格式化不好的日志文件又为上 ...

  7. 利用log4net创建日志文件时过滤日志,这是坑还是?

    前言 网上貌似没有太多关于log4net过滤日志的资料,在研究过程中发现一点小问题,这里做下记录,希望对后续有用到的童鞋起到一丢丢帮助作用. log4net日志过滤 由于是在.NET Core中使用, ...

  8. 解决log4net多进程日志文件被占用

    <log4net debug="true"> <appender name="RollingLogFileAppender" type=&qu ...

  9. impdp报错: ORA-39064: 无法写入日志文件 ORA-29285: 文件写入错误

    windows平台下,oracle 11.2.0.1在使用impdp向测试环境导入数据的时候,报出如下错误: 错误原因: 数据泵在写日志文件的时候,使用的是数据库字符集.如果客户端的环境变量NLS_L ...

随机推荐

  1. 如何在没有域的环境中搭建AlwaysOn(二)

    对DBA而言,不需要域就可以搭建SQL Server AlwaysOn是Windows Server 2016中最令人兴奋的功能了,它不仅可以降低搭建的成本,而且还减少了部署和运维的工作量. 上篇博客 ...

  2. MySQL HASH分区

    200 ? "200px" : this.width)!important;} --> 介绍 基于给定的分区个数,将数据分配到不同的分区,HASH分区只能针对整数进行HASH ...

  3. Oracle没有WM_CONCAT函数的解决办法

    WM_CONCAT是oracle的非公开函数,并不鼓励使用,新版本oracle并没有带此函数,需要手工加上. 1.下载三个文件:owmctab.plb  . owmaggrs.plb . owmagg ...

  4. 《Spark大数据处理》—— 读后总结

    前几章 工作机制

  5. WebDriver--简单的元素操作

    以登录163邮箱为例,演示以下几个方法的使用 ①switch_to.frame() ②.clear() ③.send_keys() ④.click() ⑤switch_to_default_conte ...

  6. MongoDB 数据分发

    在MongoDB(版本 3.2.9)中,数据的分发是指将collection的数据拆分成块(chunk),分布到不同的分片(shard)上,数据分发主要有2种方式:基于数据块(chunk)数量的均衡分 ...

  7. Security7:View Usage

    一,在Database level上,主要有 sys.database_principals, sys.database_permissions 和 sys.database_role_members ...

  8. C指针(一)

    原文链接:http://www.orlion.ga/916/ 一.指针的基本操作 例: int i; int *pi = &i; char c; char *pc = &c; &quo ...

  9. 《ASP.NET Web API 2框架揭秘》样章(PDF版本)

    <ASP.NET Web API 2框架揭秘>(详情请见<新作<ASP.NET Web API 2框架揭秘>正式出版>)以实例演示的方式介绍了很多与ASP.NET ...

  10. 创建第一个 local network(II)- 每天5分钟玩转 OpenStack(81)

    上一节通过 Web GUI 创建了 “first_local_net”,本节我们需要搞清楚底层网络结构有了哪些变化? 点击 “first_local_net” 链接,显示 network 的 subn ...