C# NLog体验

本人直接在Nuget中获得Nlog日志类库支持,再次整下Nuget知识(需要在联网的前景下进行)

①:在项目上右击-》管理NuGet程序包(如下图所示)

②:出现管理器面板单击左侧“联网”也签 -》在右侧的搜索栏中输入“NLog”回车-》在中间选择“NLog”栏目点击安装(如下图所示)

等待下载(所以说需要联网)

在这有个小插曲 , 因为我的控制台程序没有配置文件(app.config),一般新建的控制台程序都有的。不说了 , 动手添加,但是必须注意:只能添加一个配置文件(操作如下图)

个人觉得比较难找 , 建议使用搜索

附上整个App.config的配置

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>
  </configSections>
  <nlog autoReload="true" internalLogLevel="Trace" internalLogFile="logs/internalLog.txt">
    <targets>
      <target name="T1" type="File" fileName="${basedir}/logs/${shortdate}.log"
              layout="${longdate} ${callsite} ${level}: 
              ${message} ${event-context:item=exception} ${stacktrace} ${event-context:item=stacktrace}"/>
      <target name="T2" type="Console" layout="${date:format=yyyyMMddHHmmss} ${callsite} ${level} ${message}"/>
    </targets>
    <rules>
      <logger name="file" minlevel="Debug" maxlevel="Off" writeTo="T1"/>
      <logger name="console" minlevel="Trace" maxlevel="Off" writeTo="T2"/>
    </rules>
  </nlog>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
</configuration>

注解:

① , autoReload="true"表示在不重新启动应用程序的情况下,修改配置文件,NLog会自动加载应用;

internalLogLevel="Trace"internalLogFile="logs/internalLog.txt"这个设置可以将NLog内部的日志消息写到应用程序目录下的logs文件夹里的internalLog.txt文件中;(这个配置常用于调试Nlog的配置是否正确,调试完成后,最好关闭以提高性能)
<target>的配置:type="File|Console" 属性是设置日志输出目标是"File"(文件)或者"Console"(控制台);

②,type="File"的时候要指定fileName属性, fileName="${basedir}/logs/${shortdate}.log" 设置日记记录文件的路径和名称,即应用程序下的log目录里格式为yyyy-MM-DD.log;

layout="${date:format=yyyyMMddHHmmss} ${callsite} ${level} ${message}" 设置日志输出格式(可查阅官网说明).

③,name="file"表示配置的规则适用于Logger名称为“file”,如果填*,则表示所有的Logger都运用这个规则。
minlevel="Debug"maxlevel="Off"用来配置记录的级别为最小是"Debug"最大为"Off"(备注:此处也可以用levels="Debug,Off"来设置,说明只输出Debug级别以及Off级别的日志,官网此处解说有误:)
writeTo="T1"其中T1,T2分别代表上面设置的targets名称为T1以及T2的目标输出,此处表示将分别将日志信息输出到文件/控制台。

有必要说一下消息级别

解压下载的压缩包:http://nlog-project.org/ 请从官网下载

解压后 在src/NLog中有个LogLevel.cs文件,里面有消息等级的相关信息(可以打开看看,总共分6级,从低到高)

好了,代码测试:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NLog;
namespace MyNLog
{
    public class Program
    {
        private static Logger @loggerFile = LogManager.GetLogger("file");
        private static Logger @loggerConsole = LogManager.GetLogger("console");
        static void Main(string[] args)
        {
            loggerFile.Debug("A File test Message = Debug");
            loggerFile.Warn("A File test Message = Warn");
            loggerFile.Trace("A File test Message = Trace");
            loggerConsole.Debug("A Console test Message = Debug");
            Console.Read();
        }
    }
}

解析:

① ,@loggerFile类是往文件当中写日志的

② ,@loggerConsole类是往控制台写消息的

至于日志在Debug/logs中

因为配置问题,参见App.config , 2017-03-09.log中没有A File test Message = Trace

时间: 2024-09-30 20:55:06

C# NLog体验的相关文章

Net Core平台灵活简单的日志记录框架NLog初体验

Net Core平台灵活简单的日志记录框架NLog初体验 前几天分享的"[Net Core集成Exceptionless分布式日志功能以及全局异常过滤][https://www.cnblogs.com/yilezhu/p/9339017.html]" 有人说比较重量,生产环境部署也比较麻烦.因此就有了今天的这篇文章.如果你的项目(网站或者中小型项目)不是很大,日志量也不多的话可以考虑NLog+Mysql的组合.因为NLog具有高性能,易于使用,易于扩展和灵活配置的特点能够让你快速集成日

Spring Boot 学习笔记1---初体验之3分钟启动你的Web应用

前言 早在去年就简单的使用了一下Spring Boot,当时就被其便捷的功能所震惊.但是那是也没有深入的研究,随着其在业界被应用的越来越广泛,因此决定好好地深入学习一下,将自己的学习心得在此记录,本文主要围绕以下几点进行说明: Spring Boot 简介 使用Spring Boot快速搭建一个Web应用如有不对的地方,请指正. 1. Spring Boot简介 Spring Boot是一个基于Spring的衍生框架,其主要的目的是帮助我们快速构建独立.生产级别的Spring的应用,其崇尚的理念

易宝典文章——玩转Office 365中的Exchange Online服务 之三十 体验全新的Office 365管理中心

Office 365管理中心即将改版,微软推出了全新的Office 365管理中,其风格和Windows 10风格匹配.接下来将展示一下关于全新的管理中心,以便先睹为快.一.主页和服务状态监视在主页中显示Modern风格的按钮,默认有"用户"."账单"."服务运行状态"等常用功能.特别是对于"服务运行状况",如果是绿色,则表示所有O365的服务运行正常,如果非绿色,可以可能有服务运行问题,可以直接点击"查看服务运行状

【游戏】【剑网3】期待已久的初体验

剑网3贴吧潜水老人,游戏新人.终于公测了,终于下载完了客户端,终于可以亲自进入游戏体验一把了,就在昨天.入驻网通林白轩,据说这是剑网3贴吧的据点,角色“陈永仁”(您想囧一下么?)由于登录游戏的时间很晚了,没玩很久,初步体验.1.画面很满意,风格很喜欢.感觉确实很有中国风,画面也很漂亮,国产游戏做成这样,很欣慰.2.界面很友好,操作很容易由于以前我是玩WOW的,所以上手不算困难,操作基本相同,这使很多玩家可以更快上手,挺好.唯一的不适应是人物信息(血条那一块),感觉有点怪怪的,不过还可以接受.3.

用户体验在SEO当中

我们可以说,医疗是目前最难做SEO行业,在这里,我说怎么看病难SEO,我们应该怎么去澄清医疗SEO.内容 许多医学网站更新的内容属于某些如何治疗一些疾病,以及那些专门从事肝,脾,肺,肾的名字是什么,这些话,其实用的搜索引擎已经处理考虑这些词自动过滤的情况下,如果所有添加的细节有关的情况下,我们收集有关医疗行业的一些消息,宣布可能会更好.代替公布的经过过滤的内容,包括增加了最终排名没有. 外链 SEO做外链是不容忽视的,尽管百度绿萝算法的到来对SEO外链没有给我们像往常一样,但忠实SEO SEO论

分享:我用一天时间开发的 新年送祝福 微信手机网站(可在线体验附图)(要代码的留下邮箱)

分享:我用一天时间开发的 新年送祝福 微信手机网站(要代码的留下邮箱) (可在线体验附图)(要代码的留下邮箱) 大家有好的建议或想法欢迎随时与我联络,并将附赠全部代码一份. 微信或手机浏览器中的运行效果如下: 首页 摇一摇之后 编辑祝福语 祝福送给朋友 祝福送给微信朋友后的效果: 手机或微信体验地址: http://fenxiang.yunxunmi.com/ 微信二维码:  大家有好的建议或想法欢迎随时与我联络,并将附赠全部代码一份.

微信公众平台体验(一)

尝试一下微信公众平台,申请一个订阅号体验一下: 首先选择账号类型,有订阅号,服务号,企业号三种可选: 订阅号适用于个人和组织. 填写认证信息,包括身份证号,上传一张手持身份证的照片作为认证: 填写公众号信息: 注册成功: 信息需要审核,很多功能无法使用.未获得资质认证,开发平台也不能链接到公众平台: 公众号设置里可以设置头像和微信号,头像和登录邮箱一个月可以更改一次,微信号只能设置一次:

Windows 10新体验(二):谈谈桌面的那点事

昨天,和大家分享了Windows 10的安装过程,今天让我们一起体验一下界面的变化吧. 首先,当然要说说新的开始菜单,毕竟被Windows 8折磨了许久.显然,这是一个接近经典的开始菜单.但又和传统的菜单不一样.点击左下角的Windows图标后,不再会跳转到Metro界面,终于出现菜单了哈,这个新菜单,在我看来,它就是传统菜单和Metro的结合体. 开始菜单的左侧,是一些令人熟悉的传统元素,比如文档.照片.计算器等内容,右侧则是专为Metro应用设计的区域,你仍可以像在开始屏幕那样定制它们的大小

erlang 初体验

最近测试了一下 erlang的坑... 如不出意外.... 大家第一眼看到这语法... 心里第一句一定是"我擦.这TM都是啥!!!!!" 没有变量!!! 没有结构体!!! 没有循环!!! 好吧,至少我是这样想的. 找了半天..连个if也不知道怎么写.. 这记录一些基本常识.. -module(module_name)  %%定义模块 括号内的要和文件名相同. -export([fun1/1 fun2/2]) %%这里是导出2个函数对外使用  函数名/参数名. 一个简单的函数定义如下 f