C#在VS中和VSCODE中使用NLog

在VS和VSCODE中使用Nlog


一、导入NLog

VS:"选择管理解决方案的NuGet程序包 "在这里插入图片描述
在这里插入图片描述
VSCODE:打开终端 输入
dotnet add <解决方案> package NLog (如当前文件夹可不填解决方案,详细参考官方文档)
在这里插入图片描述

二、配置NLog.config文件(如果Nuget引用NLog没有生成对应配置文件时,需要自己添加)

<?xml version="1.0" encoding="utf-8" ?>
<!-- 
  This file needs to be put in the application directory. Make sure to set 
  'Copy to Output Directory' option in Visual Studio.
  -->
    <!--throwExceptions 记录NLog内部报错,internalLogFile路径 internalLogLevel报错等级 -->
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      throwExceptions="true" internalLogFile="D:\nlog.txt" internalLogLevel="Debug"
      >
  <targets>
     <target xsi:type
            ="Database" name="database" connectionstring="连接字符串">
            <!--mysql使用下面一句-->  
    <!--target xsi:type
            ="Database" name="database" dbProvider="MySql.Data.MySqlClient.MySqlConnection,Mysql.Data" connectionstring="连接字符串"-->   
      <commandText>
       <!--如果使用mysql则需要修改sql语句  mysql字段应为 `CreateDate`,不支持'[]'-->
        insert into MyLog ([CreateDate], [Origin], [LogLevel], [Message], [StackTrace]) values (@createDate, @origin, @logLevel, @message, @stackTrace);
      </commandText>
      <parameter name="@createDate" layout="${longdate}"/>
      <!--日志发生时间-->
      <parameter name="@origin" layout="${callsite}"/>
      <!--日志来源-->
      <parameter name="@logLevel" layout="${level}"/>
      <!--日志等级-->
      <parameter name="@message" layout="${message}"/>
      <!--日志信息-->
      <parameter name="@stackTrace" layout="${stacktrace}"/>
      <!--堆栈信息-->
    </target>
    </targets>
  <rules>
    <!-- add your logging rules here -->
    <logger name="*" writeTo="database"/>
    <!--
    <logger name="*" minlevel="Trace" writeTo="f" />
    -->
  </rules>
  </nlog>

三、设置NLog

VS中:选择NLog.config 选择始终复制到输出目录
在这里插入图片描述

VSCODE、
终端输入命令 dotnet build 生成项目后
将NLog.config 手动复制到生成目录下

四、调用

private static Logger logger = LogManager.GetCurrentClassLogger();  //Logger对象代表与当前类相关联的日志消息的来源    
        
        static void Main(string[] args)
        {
            logger.Trace("输出一条记录信息成功!");//最常见的记录信息,一般用于普通输出     
            logger.Debug("输出一条Debug信息成功!"); //同样是记录信息,不过出现的频率要比Trace少一些,一般用来调试程序     
            logger.Info("输出一条消息类型信息成功!");//信息类型的消息     
            logger.Warn("输出一条警告信息成功");//警告信息,一般用于比较重要的场合     
            logger.Error("输出一条错误信息成功!");//错误信息    
            logger.Fatal("输出一条致命信息成功!");//致命异常信息。一般来讲,发生致命异常之后程序将无法继续执行。  
        }
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值