log日志功能模块优化

该模块原先是根据NLog提供的方法,对不同级别的log分别对应方法。如下:


2789632-ce0b08709ecec528.png

可是log级别那么多,如果一个一个写,岂不是要写很多方法,那么有没有一种动态识别的方式呢?上网查了一下,还真有:

public static void WriteLog(string message, LogLevel logLevel)
        {
            if (string.IsNullOrEmpty(message))
                return;
            var type = logger.GetType();
           type.InvokeMember(logLevel.ToString(), BindingFlags.Default | BindingFlags.InvokeMethod, null, logger, new object[] { message });  
        }

        public static void WriteLog(string message, Exception ex, LogLevel logLevel)
        {
            if (string.IsNullOrEmpty(message))
                return;
            var type = logger.GetType();
            type.InvokeMember(logLevel.ToString(), BindingFlags.Default | BindingFlags.InvokeMethod, null, logger, new object[] { message,ex });
        }

使用这两个方法,便可以动态的调用Nlog提供的方法啦。
测试:
暂且写一个简单的方法进行测试:


2789632-3c4e45402164cdc1.png

调试,调用,查看:


2789632-97738cee8418a67f.png

很明显此时会同时建立一个关于Info和debug的log日志信息。
2789632-3b18269684ea9294.png
公众号.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值