博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Open-source Tutorial - NLog
阅读量:5237 次
发布时间:2019-06-14

本文共 1819 字,大约阅读时间需要 6 分钟。

1. Installing NLog

使用 NuGet 程序包管理器安装 NLog。

遇到问题:我的项目是 .Net Framework 4.0 平台的,虽然 NLog 说明中是支持的,但是使用命令获取 NuGet 包会遇到如下错误:

“NLog”已拥有为“NETStandard.Library”定义的依赖项。

解决办法是安装低版本的 NLog ,我安装的是 4.0.0 的版本(此时最新版是 4.5.11 )。安装方法是在 NuGet 程序包管理器控制台中输入如下命令:

PM> Install-Package NLog -Version 4.0.0

解决办法不应该是使用旧版,事实上NLog最新版是支持 .Net Framework 4.0 版本的,不过需要在项目中添加 packages.config 配置文件,其内容如下:

这样的方法也能解决其他 NuGet 包的类似问题。

2. Configure NLog Targets for output

只有配置好 NLog Targets,NLog 才会有输出。

配置方法:

  • 项目中添加一个 NLog.config 的xml
  • 使用 NuGet 程序包管理器安装 NLog.Config。
  • 项目的根目录会生成两个文件:NLog.config 和 NLog.xsd
  • 将 NLog.config 文件的"复制到输出目录"属性设置为“始终复制”

解释一下为什么要通过 NuGet 程序包管理器安装 NLog.Config ?

这是因为这样会多生成 NLog.xsd 这个文件,这个文件可以让我们在在使用 VS IDE 编辑 NLog.config 这个文件时,提供智能感知,相当方便!

以下是 NLog.config 文件内容示例()():

遇到问题:忘记设置文件属性,导致无输出。

3. Writing log messages

重新打包,方便调用:

public class NLogHelper{    private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();    public enum LogLevel    {        Trace, Debug, Info, Warn, Error, Fatal    }    public static void WriteLog(string msg, LogLevel level)    {        switch (level)        {            case LogLevel.Trace:                logger.Trace(msg);                break;            case LogLevel.Debug:                logger.Debug(msg);                break;            case LogLevel.Info:                logger.Info(msg);                break;            case LogLevel.Warn:                logger.Warn(msg);                break;            case LogLevel.Error:                logger.Error(msg);                break;            case LogLevel.Fatal:                logger.Fatal(msg);                break;            default:                break;        }    }}

转载于:https://www.cnblogs.com/zdfffg/p/10184128.html

你可能感兴趣的文章
【BZOJ4516】生成魔咒(后缀自动机)
查看>>
【BZOJ3052】【UOJ#58】【WC2013】糖果公园(树上莫队)
查看>>
荷兰国旗问题
查看>>
Process 启动参数问题
查看>>
提高PHP性能的10条建议
查看>>
我,不会吵,不会闹,心痛了用沉默代替
查看>>
svn“Previous operation has not finished; run 'cleanup' if it was interrupted“报错的解决方法...
查看>>
项目经理面试中可能遇到的问题(持续更新)
查看>>
【转】总结前端面试过程中最容易出现的问题
查看>>
Java- 简单了解线程 生产者与消费者问题(三)
查看>>
centos rancher 通过本机 docker images 新增container
查看>>
【原】PNG的使用技巧
查看>>
android studio 使用SVN 锁定文件,防止别人修改(基于Android studio 1.4 )
查看>>
4412 uboot启动分析
查看>>
熟用TableView
查看>>
PHP动态页面 生产静态页 方法二
查看>>
Java大数——a^b + b^a
查看>>
poj 3164 最小树形图(朱刘算法)
查看>>
百度贴吧图片抓取工具
查看>>
服务器内存泄露 , 重启后恢复问题解决方案
查看>>