log4net(winform)使用方法

2023-05-16

前言:

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

第一步:引入组件:引用log4net.dll文件 备注:通过直接引用dll或使用nugit

包管理器中搜索log4net添加引用到项目中

第二步:添加一个log4net.config文件(注意:在这个config文件上点右键属性,让它始终复制或较新复制

日志级别等级

高到底分别为:OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
  </configSections>
  <log4net>
    <root>
    </root>
    <logger name="Error">
      <level value="ALL" />
      <appender-ref ref="ErrorAppender" />
    </logger>
    <logger name="InfoLog">
      <level value="ALL" />
      <appender-ref ref="InfoAppender" />
    </logger>
    <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender,log4net" >
      <param name="File" type="" value="Log/Error/" />
      <param name="AppendToFile" value="true" />
      <param name="RollingStyle" value="Date" />
      <param name="DatePattern" value="yyyyMMdd" />
      <param name="StaticLogFileName" value="false" />
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%n[%d] %c %n%m%n%n" />
        <param name="Header" value="-----------BEGIN-----------" />
        <param name="Footer" value="------------END------------" />
      </layout>
    </appender>
    <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender,log4net" >
      <param name="File" type="" value="Log/Info/" />
      <param name="AppendToFile" value="true" />
      <param name="RollingStyle" value="Date" />
      <param name="DatePattern" value="yyyyMMdd" />
      <param name="StaticLogFileName" value="false" />
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%n[%d] %c %n%m%n%n" />
        <param name="Header" value="-----------BEGIN-----------" />
        <param name="Footer" value="------------END------------" />
      </layout>
    </appender>
  </log4net>
</configuration>

第三步:在Properties下的AssemblyInfo.cs文件时加一行:

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

第四步:创建类(log4netHelper)

public class log4netHelper
    {
        /// <summary>
        /// 普通日志(消息类)
        /// </summary>
        /// <param name="message">日志内容</param>
        public static void Info(string message)
        {
            log4net.ILog log = log4net.LogManager.GetLogger("InfoLog");
            if (log.IsInfoEnabled)
            {
                log.Info(message);
            }
            log = null;
        }
        /// <summary>
        /// 错误日志(错误类)
        /// </summary>
        /// <param name="message">错误日志</param>
        public static void Error(string message)
        {
            log4net.ILog log = log4net.LogManager.GetLogger("Error");
            if (log.IsInfoEnabled)
            {
                log.Error(message);
            }
            log = null;
        }
    }

第五步:使用方法

log4netHelper.Info("这是一条普通日志");
log4netHelper.Error("这是一条错误日志");

日志文件打开用记事本notepad或noetpad++,editplus等均可查阅。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

log4net(winform)使用方法 的相关文章

  • DevExpress WinForms导航控件 - 交付更时尚、体验更好的业务应用(一)

    DevExpress WinForms的Side Navigation 侧边导航 和Nav Panel 导航面板 可以帮助客户交付完全可模仿UI体验的业务解决方案 这些体验在当今流行的应用程序中都可找到 DevExpress WinForm
  • 如何为 C# Windows 服务配置 log4net

    我有一个 Windows 服务 其中 app config 文件和 log4net config 文件是分开的 日志记录不起作用 在我的 app config 文件中 我有以下部分
  • log4net %属性不起作用

    我有一个小型测试项目 代码如下 class Program static void Main string args log4net GlobalContext Properties logFileName log txt log4net
  • 无法从配置节“common/logging”获取 Common.Logging 的配置

    我正在尝试使用以下日志记录程序集配置控制台应用程序 Common Logging dll 2 1 0 0 Common Logging Log4Net1211 dll 2 1 0 0 log4net dll 1 2 11 0 如果记录器以编
  • log4net 用于 IIS 中托管的 WCF 服务库

    对于一个项目 我有一个 WCF 服务库 目前非常简单 它通过 WCF 服务网站项目托管在 IIS 7 5 中 对于该 WCF 服务库 我需要 log4net 来记录一些重大事件 但启动并访问网站后 不会创建任何日志文件 这是我的配置详细信息
  • log4net 停止记录时如何接收事件

    Log4net 有点太擅长不抛出错误了 我正在尝试创建某种处理程序 如果 log4net 无法启动或死亡并且无法再记录 则会触发该处理程序 我知道应用程序设置键可以打开 log4net 的内部调试 log4net Internal Debu
  • log4net 通过异常参数向数据库表添加完整的堆栈跟踪

    对于 log4net 配置 这是我的参数设置
  • Biztalk Log4Net [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 有人在 Biztalk 中使用过 log4net 吗 我们目前正在考虑使用它 并试图了解它的优点 缺点 以及它是否能满足我们的需求 我已经将 L
  • ASP.NET 日志记录 - log4net 或运行状况监控?

    我正在查看 3 5 中的一个新的 asp net 站点 它完全没有错误处理或日志记录 记录和处理错误有哪些好的选择 我在 1 1 框架上使用了 Log4Net 但听说 3 5 中可能有更好的选择 一种选择是 ELMAH 我在这里问了一个关于
  • 程序集未加载 C#

    我有一个项目Common其中包含一个 log4net CustomAppender 我在所有其他项目中引用该项目并在中配置 log4net 附加程序app config 一切都很顺利 除了一个项目在尝试实例化 Appender 时失败了 输
  • 依赖注入和命名记录器

    我有兴趣了解更多有关人们如何使用依赖注入平台注入日志记录的信息 尽管下面的链接和我的示例引用了 log4net 和 Unity 但我不一定会使用其中任何一个 对于依赖注入 IOC 我可能会使用 MEF 因为这是项目 大型 其余部分所采用的标
  • 配置log4net根据日志级别写入不同的文件

    我正在设置 log4net 并希望在 debug log 中写入调试消息 在 info log 中写入信息消息等 为此 我使用了几个附加程序 例如
  • 如何使用 Windows 中的 log4net xml 配置器使用文件夹位置指定日志文件路径?

    在我的 app config 中我放入
  • 使用多个 log4net 文件记录器

    我有文件附加器 FileA FileB 和 FileC 我将 FileA 添加到根元素 因为我希望它成为一个包罗万象的元素 下面将详细介绍 我将 FileB 和 FileC 用于特定消息 并为每个附加程序创建命名记录器 在代码中 我加载用于
  • Log4Net 可用于 adoappender 的数据库字段 - 似乎还有更多,即 method_name?

    我最近创建了简单的 log4net 数据库表 用于通过 adonet 附加程序进行日志记录 并且它有效 但后来我注意到另一个网站使用额外的字段 看 哇 我很想知道在哪里可以获得可用字段名称的列表 例如 Method name 真的让我思考
  • 为什么 nhibernate 需要 Log4Net?

    我将使用 asp net mvc3 和 nhibernate 3 2 构建我的应用程序 我决定使用 Elmah 记录所有错误消息 我记得 nhibernate 支持 log4net 并用它来记录所有查询 如果我不关心将查询输出到日志文件 我
  • 如何禁止在应用程序启动时创建空日志文件?

    我已经在我的应用程序中成功配置了 log4net 但有一件事对我来说有点烦人 即使没有发生错误 日志文件也会在我的应用程序启动后创建 空 我想仅在出现错误后才创建日志文件 我实际上在这个线程中找到了一种方法来做到这一点 http www l
  • 我在这个 log4net 实现中做错了什么?

    与许多其他人一样 我正在尝试将 Log4net 实现到我的 C net 应用程序中 但我无法让它为我工作 我已经做了很多搜索 包括在这个网站上 并尝试了许多不同的解决方案 但还没有任何对我有用的解决方案 所以简单的问题是 我做错了什么 As
  • NUnit 测试项目的 log4net 配置部分

    我正在使用名为 AssemblyTest nunit 的项目运行 NUnit 该测试调用另一个使用 log4net 程序集的程序集 这是使用 nunit 版本 2 4 3 和 net 2 0 框架 在 TestFixtureSetup 中
  • 工作天蓝色日志记录设置

    我尝试设置跟踪日志记录有一段时间了 但就是无法让它正常工作 关于这个主题有这么多错误 过时的文章并没有帮助 但请有人给我一个良好且实用的设置 用于 Azure 1 6 的跟踪日志记录和查看 我想要做的就是能够从我的应用程序捕获和查看跟踪消息

随机推荐