#c# #asp.net #asp.net-mvc #mongodb #nlog
#c# #asp.net #asp.net-mvc #mongodb #nlog
Вопрос:
Эта конфигурация работает, но я хочу динамически указывать DatabaseName = «logDb». Поэтому я хочу, чтобы значение «logDb» изменялось во время работы приложения.
Эта конфигурация nlog mongodb:
<?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="true">
<extensions>
<add assembly="NLog.Mongo" />
</extensions>
<targets async="true">
<target xsi:type="Mongo"
name="mongoCustom"
includeDefaults="false"
connectionString="mongodb://mongodb0.example.com:27017"
databaseName="logDb"
collectionName="DefaultLogDocument"
cappedCollectionSize="26214400">
<field name="Date" layout="${longdate}" bsonType="DateTime" />
<field name="Level" layout="${level}"/>
<field name="Message" layout="${message}" />
<field name="Logger" layout="${logger}"/>
<field name="Location" layout="${callsite:className=true:methodName=true}" />
<field name="Exception" layout="${exception:format=tostring}" />
<field name="ThreadId" layout="${threadid}" bsonType="Int32" />
<field name="ThreadName" layout="${threadname}" />
<field name="ProcessId" layout="${processid}" bsonType="Int32" />
<field name="ProcessName" layout="${processname:fullName=true}" />
</target>
</targets>
<rules>
<!--Rules Section-->
<logger name="*" minlevel="Warn" writeTo="mongoCustom" />
</rules>
</nlog>
Комментарии:
1. Звучит как дубликат этой проблемы: github.com/loresoft/NLog. Mongo/проблемы/39
2. Безусловно, проблема решена, спасибо