C# log4net配置

之前在网上找了很多方法,可就是不行.不出现logfile.txt

http://stackoverflow.com/questions/17106682/why-is-log4net-not-recognized-in-configuration-file

总算是出来了,结果当时没发现已经出现logfile.txt,又悲剧的试了一会.......
---------------------------------------------------------------------------------------------------------------------------

本文用的是在app.config里配置

首先下载 log4net
根据  .net  framework 框架版本使用log4net-1.2.13\bin\net里的dll文件

复制进项目里,然后引用dll文件

如果你的项目已经正确引用文件,但依然提示未using,问题可能是.net版本的问题,进入项目属性里修改项目框架版本号,log4net支持的框架版本可以去官网找

比如它不支持net framework4  client profile ,且该版本里没有app.config,只有一个app.manifest

成功引用了库,且选择了受支持.net版本后

接着,在app.config里加入
<?xml version="1.0"?>
<configuration>
<startup>
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
  <appSettings>
    <add key="log4net.Internal.Debug" value="true"/>
  </appSettings>
  <log4net>
    <!-- A1 is set to be a ConsoleAppender -->
    <appender name="A1" type="log4net.Appender.FileAppender">
      <file value="logfile.txt" />
      <appendToFile value="false" />


      <!-- A1 uses PatternLayout -->
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%-4timestamp [%thread] %-5level %logger %ndc - %message%newline" />
      </layout>
    </appender>


    <!-- Set root logger level to DEBUG and its only appender to A1 -->
    <root>
      <level value="DEBUG" />
      <appender-ref ref="A1" />
    </root>
  </log4net>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
  </configSections>
</configuration>

接着在程序类里加入

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

 private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);  
并在执行程序里加入
log.Debug("hello");

运行,在bin目录里会出现logfile.txt


当然,你也可以自定义一个静态类,这样

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using log4net;

[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace TestWindow
{
    static class Log4net
    {
        private static log4net.ILog staticlog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

        public static log4net.ILog log
        {
            get {
                return staticlog;
            }
            set {
                ;
            }
        }

    }
}
方便使用.

C#中使用log4net进行日志记录,你需要进行以下配置步骤: 1. 添加log4net引用:首先,确保你的项目中已经添加了log4net的引用。你可以通过NuGet包管理器来添加log4net引用,或者手动下载log4net库并将其添加到项目中。 2. 创建log4net配置文件:在项目中创建一个名为log4net.config(或者任何你喜欢的名称)的文件,用来配置log4net。这个文件的格式是XML格式。 3. 配置log4net:打开log4net.config文件,并在其中配置你想要的日志记录器、附加器和布局。根据你的需求,你可以配置不同的日志记录级别、输出目标、日志文件路径等等。 以下是一个简单的log4net配置示例: ```xml <?xml version="1.0" encoding="utf-8"?> <log4net> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> </layout> </appender> <root> <level value="DEBUG" /> <appender-ref ref="ConsoleAppender" /> </root> </log4net> ``` 在这个示例中,我们配置了一个名为ConsoleAppender的附加器,用于将日志输出到控制台。我们还配置了一个根日志记录器,并将日志级别设置为DEBUG,并将ConsoleAppender附加到根日志记录器上。 4. 加载log4net配置:在你的应用程序的入口点(例如Main方法)中,添加以下代码来加载log4net配置: ```csharp using log4net; using log4net.Config; class Program { private static readonly ILog log = LogManager.GetLogger(typeof(Program)); static void Main(string[] args) { XmlConfigurator.Configure(new FileInfo("log4net.config")); log.Debug("Debug message"); log.Info("Info message"); log.Warn("Warn message"); log.Error("Error message"); log.Fatal("Fatal message"); } } ``` 在这个示例中,我们首先引入log4netlog4net.Config命名空间。然后,我们使用ILog接口创建一个日志记录器,并在Main方法中使用该日志记录器输出不同级别的日志消息。 注意:在加载log4net配置之前,确保log4net.config文件与应用程序的可执行文件在同一目录下,或者你可以指定配置文件的完整路径。 这就是使用log4net进行日志记录的基本配置步骤。你可以根据自己的需求进行进一步的配置和定制。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值