在之前的博客中,写过使用系统内置的Trace类记录程序日志,具体请参考:C# 使用Trace记录程序日志。这篇博客将介绍如何使用Log4Net记录程序日志。

首先需要引用Log4Net.dll,我们可以使用Visual Studio的NuGet来引入,也可以从官网上面下载。下面是一个简单的LogHelper类,

using log4net;[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace CommonLibrary
{public static class LogHelper{private static readonly ILog _logger = LogManager.GetLogger("LogTrace");public static void Info(string message){_logger.Info(message);}public static void Debug(string message){_logger.Debug(message);}}
}

在项目的App.config或者Web.config文件中添加下面的内容:

<?xml version="1.0" encoding="utf-8"?>
<configuration><configSections><!--Add Log4Net Section--><section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /></configSections><log4net><appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender"><param name="File" value="App.log" /><param name="AppendToFile" value="true" /><rollingStyle value="Size" /><maxSizeRollBackups value="10" /><maximumFileSize value="10MB" /><staticLogFileName value="true" /><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%nTime:%date                     %Info:%message%newline" /></layout></appender><logger name="LogTrace"><level value="ALL" /><appender-ref ref="LogFileAppender" /></logger></log4net>
</configuration>

在程序中使用:

LogHelper.Info("Startup...");

运行结果,

另外对上面的配置文件多提一点,我们可以指定日志文件的地址,当前配置文件中的日志文件放在程序的目录下。例如现在需要将日志文件放在 C:\Users\XXX\AppData\Roaming目录下,修改配置文件如下:

<log4net>...<param name="File" value="${APPDATA}\App.log" />...
</log4net>

非常简单。另外Log4Net除了可以将Log文件写在本地外,还可以将Log写入到数据库中或者通过邮件发送。只需要修改App.config文件即可。可以参考:Apache log4net™ Config Examples.

感谢您的阅读!

转载于:https://www.cnblogs.com/yang-fei/p/5305314.html

C# 使用Log4Net记录程序日志相关推荐

  1. 演示如何利用log4net记录程序日志信息

    log4net是一个功能著名的开源日志记录组件.利用log4net可以方便地将日志信息记录到文件.控制台.Windows事件日志和数据库(包括 MS SQL Server, Access, Oracl ...

  2. 在ASP.NET MVC中使用Log4Net记录异常日志,出错时导向到静态页

    本篇体验在ASP.NET MVC 4中使用Log4Net记录日志. 通过NuGet安装Log4Net. 需求是:当出错时导向到Error.html静态页面,Log4Net记录错误信息. 大致的思路是: ...

  3. WebApi服务监控 log4net记录监控日志

    在项目中引用log4net.dll 1.在Models文件夹内,定义一个WebApiMonitorLog ,监控日志对象 /// <summary>/// 监控日志对象/// </s ...

  4. asp.net mvc中加入log4net记录错误日志

    直接上代码示例:https://share.weiyun.com/aff36f2547514cfefe129ebb8ccb28ef 首先添加加log4net的dll,推荐用nuget.... 贴上配置 ...

  5. C#如何使用log4net记录本地日志

    方法一(新解决方案用方案一): 第一步:将Log4Net dll文件拷贝到项目生成文件目录下,并在解决方案中引用该dll,如下图: 第二步:添加配置文件,命名为log4net.config,如下图: ...

  6. MCV使用ExceptionFilter和log4net记录程序异常日志

    添加日志接口 using log4net; using System; using System.Collections.Generic; using System.Linq; using Syste ...

  7. vsnprintf linux,printf记录程序日志,彻底告别vsnprintf

    通常我们需要在程序中输出部分日志信息,并把它记录到文件中.在这种情况下,使用printf可以为我们带了很大方便.因为printf却省情况下是向stdout即控制台屏幕输出信息,在GUI程序中,我们看不 ...

  8. outlook 未安装信息服务器,Outlook Web Access 未初始化并且在客户端访问服务器上的应用程序日志中记录了事件 ID 64...

    Outlook Web Access 未初始化并且在客户端访问服务器上的应用程序日志中记录了事件 ID 64 07/04/2014 本文内容 上一次修改主题: 2007-10-17 尝试访问 Micr ...

  9. 记录程序写入日志_终于有人把MySQL 三大日志讲清楚了

    点击上方"蓝字",关注了解更多 日志是 mysql 数据库的重要组成部分,记录着数据库运行期间各种状态信息.mysql日志主要包括错误日志.查询日志.慢查询日志.事务日志.二进制日 ...

  10. 事件 ID: 3006 定期记录到应用程序日志

    事件描述: Windows 2000 事件查看器应用程序日志中的所有事件都被都清除后,用户可能会看到类似于在应用程序日志中定期显示消息: 事件类型: 警告 事件源: EvntAgnt 事件类别: 无 ...

最新文章

  1. Struts2新特性
  2. 软件架构设计 导言
  3. linux 中/proc 详解
  4. Mysql 从库跳过
  5. 码支付如何对接网站_支付宝当面付门店码如何做?
  6. XRPC接口双向调用
  7. Vue组件学习之事件总线和消息发布订阅
  8. linux虚拟机怎么显示桌面,虚拟机中如何开启Linux的3d特效桌面?
  9. oracle的一些操作
  10. Vue3 组合式Api之customRef实现防抖功能
  11. centos 7和centos6修改默认启动模式的方法
  12. HTML、css、js 特殊字符(空格符号)
  13. 数据泄露,数据防泄密该怎么做?
  14. docker+selenium+node-chrome-debug(node-firefox-debug)完成自动化测试环境的部署
  15. cisco设备接口下配置encapsulation dot1q vlan-id的作用
  16. Android 沉浸状态栏
  17. Sanliao智能家居平台软件设计
  18. 作为一个Web前端开发者,开发Swift之后有感而写!
  19. 学成在线-课程详情页面优化
  20. 黑手已经伸向了微信自媒体营销

热门文章

  1. 好的项目需要有好的需求
  2. (转)Linux系统中sysctl命令详解 sysctl -p、sysctl -a、sysctl -w
  3. 在div 底部显示背景图片
  4. TensorRTSamplePython[end_to_end_tensorflow_mnist]
  5. IntelliJ IDEA中激活JRebel插件
  6. PHP调用OCX控件的具体方法
  7. DIV+CSS网页设计布局应用详解视频教程
  8. 深入理解BigDecimal
  9. .Net Core Linux centos7行—.net core json 配置文件
  10. HDU4757 Tree(可持久化Trie)