NLog配置为从代码登录时,未登录数据库

我有以下控制台应用程序,该应用程序使用程序化配置使用NLog来实现日志记录。当前,它当前未登录到数据库,并且在运行数据库时不会引发任何异常。有人可以让我知道其背后的原因吗?


using NLog;

using NLog.Config;

using NLog.Targets;

using System;


namespace Test.Logger

{

    class Program

    {

        static void Main(string[] args)

        {

            var logConfig = new LoggingConfiguration();



            //dbtarget 2

            var dbTarget2 = new DatabaseTarget();

            dbTarget2.ConnectionString = "SomeConnectionString";

            dbTarget2.CommandText = @"INSERT INTO [dbo].[LogAppDetail]

                                                   ([LogAppIS]

                                                   ,[LogAppId]

                                                   ,[DN]

                                                   ,[DV])

                                             VALUES

                                                   (@LogAppIS

                                                   ,@LogAppId

                                                   ,@DN

                                                   ,@DV)";


            dbTarget2.Parameters.Add(new DatabaseParameterInfo("@LogAppIS", new NLog.Layouts.SimpleLayout("${event-properties:LogAppIS}")));

            dbTarget2.Parameters.Add(new DatabaseParameterInfo("@LogAppId", new NLog.Layouts.SimpleLayout("${event-properties:LogAppId}")));

            dbTarget2.Parameters.Add(new DatabaseParameterInfo("@DN", new NLog.Layouts.SimpleLayout("${event-properties:DN}")));

            dbTarget2.Parameters.Add(new DatabaseParameterInfo("@DV", new NLog.Layouts.SimpleLayout("${event-properties:DV}")));


            logConfig.AddTarget("dbTarget2", dbTarget2);

            // add rules

            var rule2 = new LoggingRule("LogAppDetail", LogLevel.Trace, dbTarget2);

            logConfig.LoggingRules.Add(rule2);

            LogManager.Configuration = logConfig;


        }

    }

}


呼啦一阵风
浏览 118回答 1
1回答

慕婉清6462132

我弄清楚了上面的代码没有登录到数据库的原因。我的.net核心项目中缺少system.data.sqlclient软件包。我通过在应用程序中遵循以下异常来解决这个问题。LogManager.ThrowExceptions = true; LogManager.ThrowConfigExceptions = true;
打开App,查看更多内容
随时随地看视频慕课网APP