首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nlog.Mongo从appsetting.json获得连接

Nlog.Mongo从appsetting.json获得连接
EN

Stack Overflow用户
提问于 2018-12-17 13:52:34
回答 2查看 1.4K关注 0票数 0

我正在运行一个.net核心2.0应用程序,并使用NLog Mongo进行日志记录。有办法从我的应用程序文件中获取到NLog.Mongo的连接字符串吗?文档说,我可以指定一个连接名(connectionName)从配置文件(https://github.com/loresoft/NLog.Mongo)中获取。

我的appsettings.Development.json有以下内容:

代码语言:javascript
复制
  "DatabaseSettings": {
    "ConnectionString": "mongodb://localhost:27017",
    "Database": "myDbName",
    "IsSSL": false
  }

nlog.config

代码语言:javascript
复制
<target xsi:type="Mongo"
    name="mongoDefault"
    connectionName="DatabaseSettings"
    cappedCollectionSize="26214400">
  <property name="ThreadID" layout="${threadid}" bsonType="Int32" />
  <property name="ThreadName" layout="${threadname}" />
  <property name="ProcessID" layout="${processid}" bsonType="Int32" />
  <property name="ProcessName" layout="${processname:fullName=true}" />
  <property name="UserName" layout="${windows-identity}" />
</target>

当我运行这个应用程序时,我得到了一个错误:

NLog.NLogConfigurationException:无法解决MongoDB ConnectionString。请确保设置了ConnectionString属性

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-19 06:25:09

再次尝试使用NLog.Mongo ver。4.6.0.68

https://www.nuget.org/packages/NLog.Mongo/

应包括下列公共关系:

https://github.com/loresoft/NLog.Mongo/pull/22

更新NLog.Extension.Logging ver.1.4.0

和NLog.Extension.Logging ver。1.4.0然后您现在可以使用${configsetting}

另见:https://github.com/NLog/NLog/wiki/ConfigSetting-Layout-Renderer

票数 1
EN

Stack Overflow用户

发布于 2018-12-19 16:37:42

如果您不能更新您的NLog.Mongo包,在@Rolf解决方案之前,我会在Startup.cs (ConfigureServices)上使用此代码。

代码语言:javascript
复制
string conn = Configuration.GetSection("DatabaseSettings").GetValue<string>("ConnectionString");
string dbName = Configuration.GetSection("DatabaseSettings").GetValue<string>("Database");
var config = NLog.LogManager.Configuration;
var dbTarget = (NLog.Mongo.MongoTarget)config.FindTargetByName("mongoDefault");
dbTarget.ConnectionString = conn;
dbTarget.DatabaseName = dbName;
NLog.LogManager.ReconfigExistingLoggers();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53816637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档