本人直接在Nuget中获得Nlog日志类库支持,再次整下Nuget知识(需要在联网的前景下进行)
创新互联企业建站,10年网站建设经验,专注于网站建设技术,精于网页设计,有多年建站和网站代运营经验,设计师为客户打造网络企业风格,提供周到的建站售前咨询和贴心的售后服务。对于网站设计制作、成都网站建设中不同领域进行深入了解和探索,创新互联在网站建设中充分了解客户行业的需求,以灵动的思维在网页中充分展现,通过对客户行业精准市场调研,为客户提供的解决方案。①:在项目上右击-》管理NuGet程序包(如下图所示)
②:出现管理器面板单击左侧“联网”也签 -》在右侧的搜索栏中输入“NLog”回车-》在中间选择“NLog”栏目点击安装(如下图所示)
等待下载(所以说需要联网)
在这有个小插曲 , 因为我的控制台程序没有配置文件(app.config),一般新建的控制台程序都有的。不说了 , 动手添加,但是必须注意:只能添加一个配置文件(操作如下图)
个人觉得比较难找 , 建议使用搜索
附上整个App.config的配置
注解:
① , autoReload="true"表示在不重新启动应用程序的情况下,修改配置文件,NLog会自动加载应用;
internalLogLevel="Trace"internalLogFile="logs/internalLog.txt"这个设置可以将NLog内部的日志消息写到应用程序目录下的logs文件夹里的internalLog.txt文件中;(这个配置常用于调试Nlog的配置是否正确,调试完成后,最好关闭以提高性能)
②,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
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。