• .net core 使用log4net日志组件


    一个web站点必须要记录日志,否则哪里出错了,完全是黑娃找黑妹,两眼一抹黑。

    最常用的就是log4net日志组件。我们可以通过扩展加入日志组件。

    第一步:在项目中NuGet log4net包,即 Install-Package log4net

    第二步:添加log4net.config配置文件到项目中;

    第三步:在项目中新建一个LogExtension类,代码如下所示:

    public static partial class LogExtension {
            //配置文件,我将之放在站点根目录的Config文件夹中
            private static string Log4netConfigureName => "Config/log4net.config";
    
            //日志仓储的名称
            private static string RepositoryName => "Log4NetLogRepository";
    
            //全局使用一个日志仓储。
            //注意:不允许定义多个同名的日志仓储。
            public static ILoggerRepository Repository => LogManager.CreateRepository(RepositoryName);
    
            static LogExtension() {
                //配置已经被实例化的日志仓储
                XmlConfigurator.Configure(Repository, new FileInfo(Log4netConfigureName));
            }
    
            /// <summary>
            /// 获取ILog实例
            /// </summary>
            /// <param name="type"></param>
            /// <returns></returns>
            public static ILog GetLog(this Type type) {
                if (type == null)
                    throw new ArgumentNullException();
                //只要有了日志仓库,就可以得到一个ILog的实例。因此,在这之前必须实例化一个日志仓储
                return LogManager.GetLogger(RepositoryName, type);
            }
    
            /// <summary>
            /// 获取ILog实例
            /// </summary>
            /// <typeparam name="TEntity"></typeparam>
            /// <param name="entity"></param>
            /// <returns></returns>
            public static ILog GetLog<TEntity>(this TEntity entity) where TEntity : class {
                //只要有了日志仓库,就可以得到一个ILog的实例。因此,在这之前必须实例化一个日志仓储
                return LogManager.GetLogger(RepositoryName, typeof(TEntity));
            }
        }

    第四步:使用方式见下图:

    是不是很方便?简直不要太方便了!

  • 相关阅读:
    Unity3d-UI插件EZGUI官方视频教程
    安装安卓模拟器和unity3d插件EZGUI
    NGUI的原理机制:深入剖析UIPanel,UIWidget,UIDrawCall底层原理
    分享我的2014年3月unity3d面试题与参考答案
    WP8持续集成之通过命令行跑单元测试
    深入学习HttpClient(一)扩展额外的功能
    Windows Phone实用教程:利用Blend为程序添加设计时数据
    WP架构设计(一)MVVM回顾
    Windows Phone Unit Test 环境搭建
    Caliburn Micro框架快速上手(WP)
  • 原文地址:https://www.cnblogs.com/williamwsj/p/9648220.html
Copyright © 2020-2023  润新知