Log4net的一个小例子

最近想学习下log4net,写了个很简短的使用例子。用少的代码,可以保证程序运行起来。

配置文件:

复制代码
<configSections>
    <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
  </configSections>
    
  <log4net>
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
      <file value="../log.txt" />
      <layout type="log4net.Layout.PatternLayout">
        <footer value="[Footer]--Test By Ring1981 &#13;&#10;" />
        <conversionPattern value="%date [%thread] %-5level %logger [%ndc] &lt;%property{auth}&gt; - %message%newline" />
      </layout>
    </appender>

    <root>
      <appender-ref ref="LogFileAppender" />
    </root>
  </log4net>
复制代码

代码:

复制代码
    public class Program
    {
        
        static void Main(string[] args)
        {
            LogTest a = new LogTest();
            a.TestMethod();

            Console.ReadLine();
        }

    }
    public class LogCOM 
    {
        public static readonly ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
    }

    public class LogTest 
    {
        public string TestMethod()
        {
            try
            {
                List<string> list = new List<string>();
                list.Add("a");
                list.Add("b");
                list.Add("c");
                list.Add("d");
                string e = list.FirstOrDefault(x => x == "e");

                e.ToString();

                return "tet";
            }
            catch (Exception ex)
            {
                LogCOM.log.Error("test",ex);
                return "";
            }
        }
    }
复制代码

写在命名空间上部。

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

 

posted @   十二月雨  阅读(238)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示