C#控制台程序使用Log4net日志组件详解

作者:代码小六 时间:2023-02-15 19:44:26 

C#控制台程序使用Log4net日志组件,供大家参考,具体内容如下

1、Log4net一般都不陌生,但是在配置上不同类型的项目又不相同的地方比如C#控制台程序和C# MVCWeb项目,拿控制台项目为例

项目源码在文章底部

2、首先创建一个控制台程序,引入Log4net.dll --使用NuGet

C#控制台程序使用Log4net日志组件详解C#控制台程序使用Log4net日志组件详解

3、进行一些简单的配置,在App.config文件中配置,如果大家没有App.config文件,可以通过在解决方案中,添加新建项→应用程序配置文件,进行添加。


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="SysAppender" />
</root>
<logger name="WebLogger">
<level value="DEBUG" />
</logger>
<appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net">
<!--<param name="File" value="App_Data/" />-->
<param name="File" value="C:\\TestWeb\\Debug\\Error\\" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
<param name="Header" value=" ----------------------header--------------------------&#xD;&#xA;" />
<param name="Footer" value=" ----------------------footer--------------------------&#xD;&#xA;" />
</layout>
</appender>
<appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net">
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
</log4net>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>

一共连个配置项,

(1) 配置初始化

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />


(2) 日志格式、写入地址等配置

到此 如果在程序里面输出日志,系统不报错,但是没有日志输出,还有一个比较容易遗漏的配置项

4、在AssemblyInfo.cs中添加一句话

C#控制台程序使用Log4net日志组件详解

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

而MVC 项目则是在 Global.asax.cs文件

C#控制台程序使用Log4net日志组件详解

C#控制台程序使用Log4net日志组件详解

5、最后在程序里面编写输入代码


static void Main(string[] args)
{
//log4net日志
log4net.ILog logInfo = log4net.LogManager.GetLogger("loginfo");
logInfo.Info("测试日志写入");
}

效果如图所示:

C#控制台程序使用Log4net日志组件详解

点击下载项目源码

标签:C#,Log4net,日志组件
0
投稿

猜你喜欢

  • C#获得程序的根目录以及判断文件是否存在的实例讲解

    2022-12-07 18:00:27
  • C#泛型方法在lua中表示的一种设计详解

    2022-08-24 20:03:12
  • 结合mybatis-plus实现简单不需要写sql的多表查询

    2021-06-25 12:54:22
  • SpringBoot加载应用事件监听器代码实例

    2023-06-15 14:28:07
  • SimpleCommand实现图片下载(二)

    2023-05-21 00:25:17
  • C#调用WebService的方法介绍

    2022-06-05 01:10:30
  • winform用datagridview制作课程表实例

    2023-11-24 06:08:28
  • Android仿淘宝物流追踪的实例代码

    2021-08-19 22:57:23
  • C#中关于zip压缩解压帮助类的封装 附源码下载

    2021-08-19 00:37:22
  • Java语言中4种内部类的超详细讲解

    2022-02-23 18:08:10
  • Nacos 动态服务发现、配置和服务管理平台初体验

    2022-09-10 23:56:53
  • SpringBoot如何使用Fastjson解析Json数据

    2023-11-25 11:55:58
  • Java数组越界问题实例解析

    2023-10-25 18:16:23
  • Java实现小型图书馆管理系统

    2021-06-14 04:27:35
  • 带你入门Java的泛型

    2023-06-08 02:48:24
  • Qt实现计算器功能

    2022-07-29 06:30:55
  • springboot搭建访客管理系统的实现示例

    2023-09-02 13:10:41
  • JDBC实现学生管理系统

    2023-01-22 13:22:19
  • C#导出数据到CSV文件的通用类实例

    2023-05-22 09:23:16
  • SpringBoot Actuator埋点和监控及简单使用

    2023-11-20 20:09:39
  • asp之家 软件编程 m.aspxhome.com