log4net使用

一. Log4Net简介

  Log4net是从Java中的Log4j迁移过来的一个.Net版的开源日志框架,它的功能很强大,可以将日志分为不同的等级,以不同的格式输出到不同的存储介质中,比如:数据库、txt文件、内存缓冲区、邮件、控制台、ANSI终端、远程接收端等等,我们这里主要介绍最常用的两种:txt文件和数据库。其它的存储介质详见Apache log4net – Apache log4net: Config Examples - Apache log4nethttps://logging.apache.org/log4net/release/config-examples.html        Log4net将日志分为五个级别,分别是: FATAL(致命错误) > ERROR(一般错误) > WARN(警告) > INFO(一般信息) > DEBUG(调试信息),每个级别都对应着一组重载方法进行调用。

  官网地址:http://logging.apache.org/log4net/index.html

  Nuget地址:https://www.nuget.org/packages/log4net/

  Nuget安装:Install-Package log4net

二、使用

2.1下载log4net

log4net使用_第1张图片

 log4net使用_第2张图片

 2.2添加引用

log4net使用_第3张图片

  2.3添加配置文件



	
		

2.4程序启动时读取log4net的配置文件

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

log4net使用_第4张图片

 将配置文件放置该文件下 

log4net使用_第5张图片

2.5日志类

log4net使用_第6张图片

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;

namespace geoscenepro_automation
{
    public static class LogHelper
    {
        public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");
        public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");

        public static void WriteLog(string info)
        {
            if (loginfo.IsInfoEnabled)
            {
                loginfo.Info(info);
            }
        }
        /// 
        /// 错误记录
        /// 
        /// 附加信息
        /// 错误
        public static void ErrorLog(string info, Exception ex)
        {
            if (!string.IsNullOrEmpty(info) && ex == null)
            {
                logerror.ErrorFormat("【附加信息】 : {0}
", new object[] { info }); } else if (!string.IsNullOrEmpty(info) && ex != null) { string errorMsg = BeautyErrorMsg(ex); logerror.ErrorFormat("【附加信息】 : {0}
{1}", new object[] { info, errorMsg }); } else if (string.IsNullOrEmpty(info) && ex != null) { string errorMsg = BeautyErrorMsg(ex); logerror.Error(errorMsg); } } /// /// 美化错误信息 /// /// 异常 /// 错误信息 private static string BeautyErrorMsg(Exception ex) { string errorMsg = string.Format("【异常类型】:{0}
【异常信息】:{1}
【堆栈调用】:{2}", new object[] { ex.GetType().Name, ex.Message, ex.StackTrace }); errorMsg = errorMsg.Replace("\r\n", "
"); errorMsg = errorMsg.Replace("位置", "位置"); return errorMsg; } } }

2.6运行

 尝试添加按钮进行日志文件书写

log4net使用_第7张图片   2.7结果

log4net使用_第8张图片

 三、示例链接

https://download.csdn.net/download/qq_39397927/88218951

四、参考

log4net使用中loginfo.IsInfoEnabled=false问题解决方法_ChaoYang0502的博客-CSDN博客

Log4Net日志详解_zhanglong_longlong的博客-CSDN博客

C#中实现日志记录功能_c# 日志_微笑&星空的博客-CSDN博客

log4net使用中loginfo.IsInfoEnabled=false问题解决方法_zwm_16的博客-CSDN博客

你可能感兴趣的:(C#,C#,log4net,C#日志)