>

写入日志文件

- 编辑:金沙国际平台登录 -

写入日志文件

   这里就大约介绍下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"/>
<!--最多拾一个日志备份文件-->
<maxSizeRollBackups value="10"/>
<!--各个文件最大1M-->
<maximumFileSize value="1024KB"/>
<!--回滚的格式遵照大小-->
<rollingStyle value="Size"/>

<staticLogFileName value="true"/>

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

<root>
    <!--输出品级限制-->
  <!--调整等级,由低到高: ALL|DEBUG|INFO|WATiggoN|ELX570RO奥迪Q5|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();

选取效果如下:

图片 1

  ---------------------------------------------------------------华丽分界线---------------------------------------------------------------------

  某些时候,大家要把为了不相同配置,把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="10"/>      <!--每个文件最大1M-->      <maximumFileSize value="1024KB"/>      <!--回滚的格式按照大小-->      <rollingStyle value="Size"/>      <staticLogFileName value="true"/>      <layout type="log4net.Layout.PatternLayout">      <!--输出内容 分别为:%date日期,%thread线程ID,等级,初始配置时自定义的名字,%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:假设没报错,而并不曾出口文件,请查看调用的时候是或不是有开始化配置这一句代码。

正文结束。

     

     如若难点,款待切磋,咨询,建议,意见。

本文由编程发布,转载请注明来源:写入日志文件