ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

c#日志工具类

2020-12-15 13:01:41  阅读:192  来源: 互联网

标签:文件 c# 打印 NLog 日志 config 工具


需求:c#日志打印工具类,方便定位问题,调试程序,之前使用log4net工具类,发现该打印日志影响form启动效率,

于是自己写了一个打印日志类,不是很专业,现在使用NLog日志打印类,还不错,推荐小伙伴们使用~

配置使用:

1.Nuget方式安装:

2.NLog.config文件

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
      autoReload="true"
      throwExceptions="false"
      internalLogLevel="Off"
      internalLogFile="c:\nlog\nlog-internal.log">

  <variable name="varDataFolderPath" value="${basedir}/logs"/>
  <variable name="varLayHeader" value="${longdate}|${level}"/>
  <variable name="varLayMiddle" value="${callsite-linenumber}|${callsite:includeSourcePath=false:methodName=false}"/>
  <variable name="varLayBack" value="${message}|${exception:format=toString}"/>
  <targets>
    <target name="logFile"
            xsi:type="File"
            encoding="utf-8"
            maxArchiveFiles="100"
            archiveEvery="Day"
            archiveNumbering="Date"
            archiveDateFormat="yyyyMMdd"
            archiveFileName="${varDataFolderPath}/archives/log.{#}.txt"
            fileName="${varDataFolderPath}/nlog-${shortdate}.txt"
            layout="${varLayHeader}|${varLayMiddle}|${varLayBack}" />
    <target xsi:type="Console"
            name="logConsole"
            layout="${varLayHeader}|${varLayMiddle}|${varLayBack}" />
  </targets>
  <rules>
    <logger minlevel="Trace" name="*" writeTo="logFile" />
    <logger minlevel="Trace" name="*" writeTo="logConsole" />
  </rules>
</nlog>

3.NLog.config 属性更改

结果:

PS:当前配置是按天为单位输出日志文件,没有当前天日志文件,当有日志输出时,创建当前天日志文件~

标签:文件,c#,打印,NLog,日志,config,工具
来源: https://blog.csdn.net/qq_24537165/article/details/111199393

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有