美文网首页编程语言爱好者C#
log日志功能模块优化

log日志功能模块优化

作者: 张中华 | 来源:发表于2018-08-21 00:01 被阅读409次

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



可是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提供的方法啦。
测试:
暂且写一个简单的方法进行测试:



调试,调用,查看:



很明显此时会同时建立一个关于Info和debug的log日志信息。
公众号.png

相关文章

  • log日志功能模块优化

    该模块原先是根据NLog提供的方法,对不同级别的log分别对应方法。如下: 可是log级别那么多,如果一个一个写,...

  • 各种机型开启Log日志的方式

    开启log方式 魅族手机开启log日志开关开启设置-辅助功能-开放者选项-性能优化-高级日志输出-全部允许输出 3...

  • MySQL之:日志

    日志: 事务日志:transaction log 中继日志:reley log 错误日志:error log 通用...

  • golang

    Golang 优化之路——自己造一个日志轮子 据我观察,基本没有人在用 Golang 原生的 log 包写日志。今...

  • 8. 日志

    1. 日志 日志事务日志 transaction log中继日志 reley log错误日志 error ...

  • 关于Log封装

    简单的记述一下android log日志打印的优化。 首先,我们要知道系统自带的log打印是有长度限制的,而这个限...

  • 数据库优化的常见方法

    数据库优化的方法有 ①建立索引 ②条件 ③表关联关系 ④多线程 ⑤分部处理 ⑥无log日志

  • MySQL(Mariadb)总结7 - 日志文件

    MariaDB日志 查询日志: query log; 慢查询日志: slow query log; 错误日志: e...

  • mysql日志文件

    一,mysql有以下几种日志: 错误日志: -log-err 查询日志: -log ...

  • MySQL的日志

    MySQL中一种有7种日志 redo log 重做日志 undo log 回滚日志 bin log 二进制日志 ...

网友评论

    本文标题:log日志功能模块优化

    本文链接:https://www.haomeiwen.com/subject/lpiriftx.html