C#配置NuGet包log4Net,生成日志文件

log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具。 [1] 

log4net是Apache软件基金会Apache Logging Services工程的一部分。Apache日志服务工程致力于为程序调试和审计提供跨语言的日志服务。(百度百科:https://baike.baidu.com/item/log4net/8982554?fr=aladdin)

1.安装NuGet包Log4Net:

我们打开工具->NuGet程序包安装菜单:搜索log4Net

勾选需要安装log4Net的项目,并安装:如下图噻

 2.配置

项目Properties下的AddemblyInfo.cs文件,在最后添加:

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

后面我们添加一份配置文件:log4net.config,该文件中含有日志的相关配置信息

 右键项目名称->新建项->添加log4net.config文件:

 我们在文件的最后添加下列代码:

当然,可以根据需要更改

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!--添加配置节点-->
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>

  <log4net outdate_days="2">
      <!--我的日志类-->
      <logger name="mylogger">
          <level value="DEBUG"/>
          <appender-ref ref="myloggerAppender"/>
      </logger>

      <!--日志保存到文件里面 txt-->
    <appender name="myloggerAppender" type="log4net.Appender.RollingFileAppender">
      <!--日志路径 网站根目录下面的logs-->
      <param name="File" value="logs\\"/>
      <!--是否是向文件中追加日志-->
      <param name="AppendToFile" value="true"/>
      <!--每天记录的日志文件个数,与maximumFileSize配合使用-->
      <param name="MaxSizeRollBackups" value="10"/>
      <param name="MaximumFileSize" value="10MB"/>
      <!--日志文件名是否是固定不变的-->
      <param name="StaticLogFileName" value="false"/>
      <param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;"/>
      <!--日志根据日期滚动-->
      <param name="RollingStyle" value="Date"/>
      <!--输出样式设置-->
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d Thread[%t]-->%p-> %m%n"/>
      </layout>
    </appender>

  </log4net>

</configuration>

输出样式设置
%m(message)输出的日志消息,如ILog.Debug(…)输出的一条消息 
%n(new line)换行 
%d(datetime)输出当前语句运行的时刻 
%r(run time)输出程序从运行到执行到当前语句时消耗的毫秒数 
%t(thread id)当前语句所在的线程ID 
%p(priority)日志的当前优先级别,即DEBUG、INFO、WARN…等 
%c(class)当前日志对象的名称
%f(file)输出语句所在的文件名。 
%l(line)输出语句所在的文件名及行号。 
%数字表示该项的最小长度,如果不够,则用空格填充,如“%-5level”表示level的最小宽度是5个字符,如果实际长度不够5个字符则以空格填充。

3.使用

使用起来非常简单:先声明实例:

mylogger参数是我的日志类

/// <summary>
/// 日志文件
/// </summary>
private static log4net.ILog _log = log4net.LogManager.GetLogger("mylogger");

_log.Info("正在加载......");
_log.Info("配置文件读取成功!");
_log.Error("相机加载失败!");

 方法使用:

Debug(object,/Exception)_log.Debug("日志", new Exception("错误"));
Info(object,/Exception)_log.Info("日志", new Exception("错误"));
Error(object,/Exception)_log.Error("日志", new Exception("错误"));
Fatal(object,/Exception)_log.Fatal("日志", new Exception("错误"));

2020-12-17 11:08:55,502 Thread[1]--> INFO->正在加载......
2020-12-17 11:08:55,551 Thread[1]--> INFO->配置文件读取成功!
2020-12-17 11:08:55,745 Thread[1]--> ERROR->相机加载失败!

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
C# 中使用 Log4Net 需要进行以下配置: 1. 下载 Log4Net 可以通过 NuGet 管理器下载 Log4Net。在 Visual Studio 中,打开“工具”菜单下的“NuGet 管理器”,搜索“Log4Net”,并安装最新版本。 2. 配置 Log4Net 在你的项目中添加一个名为“log4net.config”的文件。在该文件中,定义 Log4Net 配置。以下是一个简单的配置示例: ```xml <log4net> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger - %message%newline" /> </layout> </appender> <root> <level value="DEBUG" /> <appender-ref ref="ConsoleAppender" /> </root> </log4net> ``` 3. 在代码中使用 Log4Net 在代码中使用 Log4Net 需要进行以下步骤: ```csharp using log4net; class Program { private static readonly ILog log = LogManager.GetLogger(typeof(Program)); static void Main(string[] args) { log.Debug("Debug message"); log.Info("Info message"); log.Warn("Warn message"); log.Error("Error message"); log.Fatal("Fatal message"); } } ``` 在上面的示例中,我们首先导入 Log4Net 命名空间。然后,我们定义了一个名为“log”的静态只读字段,该字段返回一个 ILog 实例。在 Main 方法中,我们使用 ILog 实例记录日志消息。 4. 运行代码 运行代码后,你应该会在控制台中看到日志消息的输出。 这是一个简单的 Log4Net 配置和使用示例。你可以通过更改配置来满足你的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

James.TCG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值