c#中使用log4net

c#中使用log4net

需求在winform程序中使用listview或者textbox显示日志,并且也要将日志文件记录在单独的txt日志文件中

在网上找了个例子,可以实现显示在textbox中,但是一直没有打印txt文本日志文件。究其原因是log4net配置文件需要在debug目录下,且需要确认是最新修改的内容。

需要确认的关键步骤如下:

  1. 正确引用log4net,最好是在nuget管理工具里面选择对应版本。
  2. log4net.dll 需要在debug目录下
  3. 配置文件log4net.config需要在debug目录下
  4. AssemblyInfo.cs文件中 添加:[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

关键配置文件如下

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <!--在配置选项中加入log4net的引用-->
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  
  <log4net>
    <appender  name="LogFile" type="log4net.Appender.FileAppender" >
      <!--日志路径-->
      <param name= "File" value= "D://sss.txt"/>
      <!--是否是向文件中追加日志-->
      <param name= "AppendToFile" value= "true"/>
      <!--log保留天数-->
      <param name= "MaxSizeRollBackups" value= "10"/>
      <!--日志文件名是否是固定不变的-->
      <param name= "StaticLogFileName" value= "false"/>
      <!--日志文件名格式为:2008-08-31.log-->
      <param name= "DatePattern" value= "yyyy-MM-dd".log""/>
      <!--日志根据日期滚动-->
      <param name= "RollingStyle" value= "Date"/>
      <!--不要使用小数,否则会一直写入当前日志-->
      <maximumFileSize value="2MB"/>
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} --%-5p-- %m%n" />
      </layout>
    </appender>
    <appender>
      <!--一个配置文件可以有很多appender,一个appender节就相当于一个日志输出介质或方法。-->
    </appender>
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
    </appender>
    <logger name="logApp">
      <!--定义logger对象的名字为logApp,以方便在代码中使用logger-->
      <!--配置项可以不配置-->
      <level value="ALL" />
      <!--定义输出的信息等级为所有其中包括Fatal.Error.Warn.Info.Debug-->
    </logger>
    <root>
      <!--定义日志输出的方式和等级-->
      <level value="Info" />
      <appender-ref ref="LogFile" />
      <!--选择了文件输出,注意粗体部分对应的名称-->
      <appender-ref ref="ConsoleAppender" />
    </root>
  </log4net>
</configuration>

转载于:https://www.cnblogs.com/falcon-fei/p/11060142.html

要在C#使用log4net,你需要按照以下步骤进行设置: 第一步,添加log4net包: 在你的项目,右击项目名称,选择"管理NuGet程序包"。在搜索框输入"log4net",然后点击"安装"按钮,以添加log4net包到你的项目。 第二步,创建log4net配置文件: 在你的项目,创建一个名为"log4net.config"的XML文件。在文件,你可以定义log4net的配置和日志输出方式。以下是一个基本的配置示例: ```xml <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> ``` 这个示例配置了一个控制台输出的日志记录器。你可以根据自己的需求进行配置。 第三步,初始化log4net: 在你的代码,添加以下代码来初始化log4net,通常放在程序的入口处(如Main()方法): ```csharp using log4net; using log4net.Config; namespace YourNamespace { class Program { private static readonly ILog log = LogManager.GetLogger(typeof(Program)); static void Main(string[] args) { XmlConfigurator.Configure(new FileInfo("log4net.config")); // 此处开始你的代码逻辑 } } } ``` 这段代码会读取并应用之前创建的"log4net.config"文件的配置。 第四步,使用log4net进行日志记录: 现在你可以在你的代码使用log4net来记录日志了。使用log4net的最基本方式是通过调用ILog接口的方法。以下是一个示例: ```csharp log.Debug("Debug message"); log.Info("Info message"); log.Warn("Warning message"); log.Error("Error message"); log.Fatal("Fatal message"); ``` 这些方法分别表示不同的日志级别,你可以根据需要选择适当的级别。 以上就是在C#使用log4net的基本步骤。你可以根据自己的需求和具体情况进行更高级的配置和使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值