NLog не сохраняет большую строку в базе данных с буфером и асинхронно - PullRequest
0 голосов
/ 27 августа 2018

Я работаю над проектом, который должен регистрировать запрос SOAP-сообщений.Некоторые запросы имеют очень большую строку, более 14 миллионов символов XML.Проблема заключается в том, что когда такие сообщения отправляются в базу данных, эти сообщения не сохраняются, и в приложении не возникает никаких исключений.Я пытаюсь включить свойство исключения N-Log, но ничего не произошло.Вы можете найти мои параметры конфигурации ниже

<targets> 
    <target name="main" xsi:type="AutoFlushWrapper" asyncFlush="true"> 
        <target name="database_buffer" 
                xsi:type="BufferingWrapper" 
                bufferSize="50" 
                flushTimeout="120000"> 
            <target xsi:type="FallbackGroup" 
                    name="String" 
                    returnToFirstOnSuccess="true"> 
                <target xsi:type="Database" 
                        name="database_inner" 
                        connectionString="${event-context:item=dbConnectionString}" 
                        commandText="INSERT INTO [Log] ([Level],[Message],[Application],[MethodInfo],[Exception]) VALUES(@Level,@Message,@ApplicationName,@MethodInfo,@Exception)"> 
                    <parameter name="@Level" layout="${level:uppercase=true}" />
                    <parameter name="@Message" layout="${event-properties:item=Message}" />
                    <parameter name="@ApplicationName" layout="${event-properties:item=SourceName}" /> 
                    <parameter name="@MethodInfo" layout="${event-properties:item=MethodInfo}" />
                    <parameter name="@Exception" layout="${event-properties:item=Exception}" />
                </target>
            </target> 
        </target> 
    </target> 
</targets>

Нет внутреннего файла журнала или сбоя приложения в режиме отладки.На том же конце небольшие строки и сообщения нормальной длины успешно поступают в базу данных.В базе данных у меня есть тип данных Nvarchar Max для столбца.

Я не могу найти здесь опцию для загрузки файла, поэтому я прилагаю эту ссылку, чтобы загрузить точное сообщение, которое я пытаюсь сохранить в базе данных. Вот оно .

Этот текст файла успешно вставляется в базу данных, когда я удаляю параметры буфера и асинхронно или вставляю с компонентами Ado.net.Поэтому, пожалуйста, покажите мне, где я не прав и в чем проблема.

...