首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从appsettings.json中正确拉取NLog DB ConnectionString

从appsettings.json中正确拉取NLog DB ConnectionString的步骤如下:

  1. 确保在项目的根目录下存在一个名为appsettings.json的配置文件。如果不存在,可以手动创建一个。
  2. 打开appsettings.json文件,找到与NLog相关的配置部分。通常,NLog的配置会以"NLog"作为键值。
  3. 在NLog配置部分中,找到与数据库连接字符串相关的键值对。通常,数据库连接字符串的键是"connectionString"。
  4. 确保数据库连接字符串的值是正确的,并且已经配置了正确的数据库服务器地址、数据库名称、用户名和密码等信息。
  5. 在代码中使用配置文件读取工具(如ConfigurationBuilder)加载appsettings.json文件,并获取NLog的数据库连接字符串。
  6. 将获取到的数据库连接字符串传递给NLog的配置文件,以便NLog可以正确连接到数据库并记录日志。

以下是一个示例代码片段,展示了如何从appsettings.json中正确拉取NLog DB ConnectionString:

代码语言:txt
复制
using Microsoft.Extensions.Configuration;
using NLog;

// 加载appsettings.json文件
var config = new ConfigurationBuilder()
    .SetBasePath(Directory.GetCurrentDirectory())
    .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
    .Build();

// 从配置文件中获取NLog的数据库连接字符串
var nlogDbConnectionString = config.GetConnectionString("NLogDb");

// 配置NLog
var logger = LogManager.GetCurrentClassLogger();
var nlogConfig = new NLog.Config.LoggingConfiguration();
var dbTarget = new NLog.Targets.DatabaseTarget();
dbTarget.ConnectionString = nlogDbConnectionString;
// 其他NLog配置...

// 将NLog配置应用到日志记录器
nlogConfig.AddTarget("database", dbTarget);
// 其他NLog配置...

LogManager.Configuration = nlogConfig;

// 使用NLog记录日志
logger.Info("Hello, NLog!");

请注意,上述代码中的"NLogDb"是示例中的数据库连接字符串键名,您需要根据实际的appsettings.json文件中的键名进行调整。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云云数据库 PostgreSQL 版:https://cloud.tencent.com/product/cdb_postgresql
  • 腾讯云云数据库 SQL Server 版:https://cloud.tencent.com/product/cdb_sqlserver
  • 腾讯云云数据库 MongoDB 版:https://cloud.tencent.com/product/cdb_mongodb
  • 腾讯云云数据库 Redis 版:https://cloud.tencent.com/product/cdb_redis
  • 腾讯云云数据库 MariaDB 版:https://cloud.tencent.com/product/cdb_mariadb
  • 腾讯云云数据库 TDSQL-C(兼容 MySQL):https://cloud.tencent.com/product/tdsqlc
  • 腾讯云云数据库 TDSQL-C(兼容 PostgreSQL):https://cloud.tencent.com/product/tdsqlc_postgresql
  • 腾讯云云数据库 TDSQL-C(兼容 Oracle):https://cloud.tencent.com/product/tdsqlc_oracle
  • 腾讯云云数据库 TDSQL-C(兼容 SQL Server):https://cloud.tencent.com/product/tdsqlc_sqlserver
  • 腾讯云云数据库 TDSQL-C(兼容 MariaDB):https://cloud.tencent.com/product/tdsqlc_mariadb
  • 腾讯云云数据库 TDSQL-C(兼容 Redis):https://cloud.tencent.com/product/tdsqlc_redis
  • 腾讯云云数据库 TDSQL-C(兼容 PostgreSQL):https://cloud.tencent.com/product/tdsqlc_postgresql
  • 腾讯云云数据库 TDSQL-C(兼容 Oracle):https://cloud.tencent.com/product/tdsqlc_oracle
  • 腾讯云云数据库 TDSQL-C(兼容 SQL Server):https://cloud.tencent.com/product/tdsqlc_sqlserver
  • 腾讯云云数据库 TDSQL-C(兼容 MariaDB):https://cloud.tencent.com/product/tdsqlc_mariadb
  • 腾讯云云数据库 TDSQL-C(兼容 Redis):https://cloud.tencent.com/product/tdsqlc_redis
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET Core 实战:使用 NLog 将日志信息记录到 MongoDB

Windows 上进行 MongoDB 的安装与配置,如何在 Linux or Docker 中进行安装配置,我将在后面的文章中进行演示。...在 MongoDB 之前的版本,如果我们需要将 MongoDB Server 作为 Windows 服务,需要我们在安装完成之后进行配置,但是 MongoDB 4.0 开始,我们就可以在安装期间直接配置和启动我们的...NLogNLog.Web.AspNetCore 为 ASP.NET Core 添加了对于 NLog 的平台支持,在 NLog ,我们可以通过继承 NLog.Targets.TargetWithLayout...name="mongo" databaseName="GrapefruitVuCore" collectionName="Logs" connectionString...服务 }   另外,在 appsettings.json 中指定的 Logging 配置会覆盖任何对于 SetMinimumLevel 方法的调用。

1.7K10
  • 从头编写 asp.net core 2.0 web api 基础框架 (3)

    Log到Debug窗口或者Console窗口还是比较方便的,但是正式生产环境这肯定不够用。 正式环境应该Log到文件或者数据库。...我们就用比较火的NLog吧。 NLog 首先通过nuget安装Nlog:  ? 注意要勾上include prerelease,目前还不是正式版。 装完之后,我们就需要为Nlog添加配置文件了。...默认情况下Nlog会在根目录寻找一个叫做nlog.config的文件作为配置文件。那么我们就手动改添加一个nlog.config: <?...首先是要找到appSettings.json文件,asp.net core 2.0已经做好了相关配置,它默认会ContentRoot去找appSettings.json文件。...,根据json文件的层次结构,第一层对象我们的是mailSettings,然后试mailToAddress和mailFromAddress,他们之间用冒号分开,表示它们的层次结构。

    1.6K70

    生成数据库

    Nlog了。...Dto是与外界打交道的Model,entity则不一样,有一些Dto的计算属性我们并不像保存在数据库,所以entity没有这些属性;而数据entity传递到Dto后某些属性也会和数据库里面的形式不一样...它是: 如何安全的保存敏感的配置数据,例如:连接字符串 保存连接字符串,你可能会想到appSettings.json,但这不是一个好的想法。...我们可以这样做,首先针对开发环境(development environment)把C#代码的连接字符串拿掉,把它放到appSettings.json里面。...生产环境: 在项目的属性--Debug里面,我们看到了环境变量: 而这个环境变量,我们可以在程序读取出来,所以可以在这里添加连接字符串: 注意它的key,要和appSettings.json里面的整体结构一致

    1K20

    .NET 使用NLog增强日志输出

    NLog 日志组件的使用 那在实际使用如何集成呢?接下来以ASP.NET Core 应用为例进行详细讲解。...添加NLog 配置文件:官方提供两种方式用来添加配置,一种是添加nlog.config文件使用xml格式进行配置,一种是直接在appsettings.json文件中使用json格式进行配置,这里推荐使用...在appsettings.json添加NLog配置节点,如下所示,该配置将Info及以上级别的日志输出到控制台,将Debug及以上级别的日志输出到App_Data/Logs目录。...预置的{processname}字段获取,env字段是通过{environment}指定的环境变量获取,以aspnet-为前缀的字段则是通过NLog.Web.AspNetCore预置的字段获取,因此...,还有很多其他字段,比如从配置文件读取字段,应用读取身份信息,提取请求数据包,读取请求头,截取QueryString的指定字段。

    2.8K20

    张高兴的 .NET IoT 入门指南:(七)制作一个气象站

    ; Iot.Device.Bindings NuGet 包的使用; 时序数据库 TimescaleDB 的简单使用; Quartz 定时任务的使用; 在控制台应用中进行依赖注入; 使用 Docker 镜像... TimescaleDB 镜像: docker pull timescale/timescaledb:latest-pg14 创建卷,用于持久化数据库数据: docker volume create...appsettings.json 文件读取。...配置文件 在 appsettings.json 添加如下内容: { // 数据库连接字符串 "ConnectionString": "Server=localhost;Port=54321;...* 出现的部分表示任意值都会触发定时任务,/ 左侧表示触发的起始时间,右侧表示触发间隔,以 appsettings.json 的为例,表示每小时的第 0 分开始触发,每一分钟触发一次。

    78410

    在Docker的部署以及docker-compose的使用

    三、Docker的几个常见命令 搜索远程存储库的镜像,例如MongoDB的镜像 docker search mongo ? 仓库的镜像 docker pull mongo 列出本地镜像。...有一些设置,比如本例的数据库连接,如果将连接字符串写在了项目中的appsettings.json,而这个文件被“固化”到镜像中了,是不能修改的,除非重新生成镜像,非常麻烦。...appsettings.json的配置。...这是因为在讲述IConfiguration的文章说过,系统是先加载appsettings.json的设置,后加载环境变量的设置的,二者的key相同,所以最终会以环境变量的配置为准。  ...Studio帮我们自动添加了SDK镜像的、项目的编译、项目发布的过程。

    2.8K30

    .net 温故知新:【8】.NET 的配置xml转向json

    使用的话就引用包System.Configuration.ConfigurationManager 之后里面的配置信息:System.Configuration.ConfigurationManager.AppSettings...["ConnectionString"] 随着技术的发展这种配置方式显得冗余复杂,如果配置项太多层级关系参数表达凌乱,在.net core开始也将配置的格式默认成了json格式,包括现在很多的其它配置也是支持的...配置提供程序使用各种配置源键值对读取配置数据,这些配置程序稍后我们会看到,读取的配置源可以是如下这些: 设置文件,appsettings.json 环境变量 Azure Key Vault Azure...添加 "appsettings.json" 文件,由 JSON 配置提供程序识别(AddJsonFile("appsettings.json"))。...四、选项依赖注入 在控制台程序我们引用DI注入包,然后演示下如何进行配置的注入。

    1.4K30

    MongoDB入门实战教程(5)

    前面我们学习了MongoDB的基本查询命令操作,作为后端开发的我们大部分场景都是在应用程序中和MongoDB进行交互,因此本篇我们来学习一下如何在ASP.NET Core中集成MongoDB。...use BookStoreDB db.CreateCollection('Books') 最后,预先插入两条测试数据: db.Books.insertMany([ {'Name':'Design Patterns...ForMember(dest => dest.CreatedDate, opt => opt.Ignore()) .ReverseMap(); } } 添加配置模型 首先,在appSettings.json...会通过构造函数DI检索IBookStoreDatabaseSettings实例获取MongoDB连接字符串、数据库名 和 集合名。...示例github地址:https://github.com/EdisonChou/EDT.Mongo.Sample 4 总结 本文总结了如何在ASP.NET Core/ASP.NET 5应用程序操作MongoDB

    1.2K10

    多库操作2:终于实现多个数据库操作

    在上周的文章【多库操作:多个数据库的动态切换(一)】,我们简单说了说,如何切换数据库,虽然实现了大部分的功能,但是最后也遗留了小问题,后来我和别的小伙伴讨论了下,那个小问题其实不是Bug,而是设计思路的偏差...{ /* 如果要开启多库支持, * 1、在appsettings.json 开启MutiDBEnabled节点为true,必填 * 2、设置一个主连接的数据库...6 实现操作两个数据库效果 首先,开启多库配置: 我们测试两个数据库,一个是Sqlite主库,一个是Sqlserver库, 主库,获取博客信息,获取密码表信息,就是刚刚我们在上边配置的实体...(Sqlite),操作blogs var blogs = await _blogArticleServices.Query(d => d.bID == 1); // 库(Sqlserver...blogs, pwds }; } 为了做对比效果,我把这两个表,数据库删掉,也就是blog在从库删掉,pwd在主库删掉: 我们做一个动图,来看看效果: 尽管两个表在对方的数据库不存在

    2.2K40

    ABP入门到精通(3):aspnet-zero-core 使用Redis缓存

    数据可以主服务器向任意数量的服务器上同步,服务器可以是关联其他服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。...我们可以将这个列表放在redis里面,这样每次就可以redis里面数据量,速度是非常快的。...("Abp:RedisCache:DatabaseId"); 5 });   2.修改redis配置 配置文件在项目“Web.Mvc”里 appsettings.json...五.如何在代码中使用缓存 1.通过容器注入缓存管理器,这里可以使用属性注入或者构造方法注入均可 ? 2.使用缓存 ?...这里Get方法有两个参数,第一个参数是缓存的key,第二个参数是当缓存数据不存在,那么执行获取数据的方法。

    1.9K20

    AgileConfig 轻量级配置中心 1.5 发布 - 支持多环境配置

    AgileConfig 发布到现在,收到不少同学的 issue 说需要多环境的支持。也就是一个应用在不同的环境下可以配置不同的配置项。...这是一个非常有用的功能,就跟我们开发的时候会设置多个 appsettings.json 文件一样,比如 appsettings.development.json 、appsetting.production.json...下面介绍下如何使用多环境配置功能。 运行控制台节点 最新的 latest 或者 release-1.5.0 的 docker 镜像,运行控制台节点即可支持多环境配置。...sudo docker run \ --name agile_config \ -e adminConsole=true \ -e db:provider=sqlite \ -e db:conn="Data..."DEV" "nodes": "http://localhost:5000", "name": "client1", "tag": "tag1", } } 关于升级 如果1.4

    64020

    .NET Core 3.0 单元测试与 Asp.Net Core 3.0 集成测试

    在实践过程,技术债务常常会存在,关键在于何时偿还,如何偿还。 ? 上图说明了随着时间的推移开发/维护难度的变化。...在单元测试中常常会提到几个概念 Stub , Mock 和 Fake ,那么在应用我们该如何选择呢? Moq4 ,使用 Moq4 模拟我们在项目中依赖对象。...集成测试 集成测试确保应用的组件功能在包含应用的基础支持下是正确的,例如:数据库、文件系统、网络等。 新建集成测试项目。 ? 添加工具类 Utilities 。...db) { db.Addresses.RemoveRange(db.Addresses); InitializeDbForTests(db);...string projectDir = Directory.GetCurrentDirectory(); string configPath = Path.Combine(projectDir, "appsettings.json

    2.3K20
    领券