gpt4 book ai didi

json - 未读取 Log4net Json 自定义属性

转载 作者:行者123 更新时间:2023-12-02 03:27:13 26 4
gpt4 key购买 nike

我正在使用 log4net 在 sql 数据库中插入 JSON 格式的数据。除了未保存的自定义属性外,一切都很好。

这是我的配置:

<appender name="TGGADONetAppenderjson" type="log4net.Appender.ADONetAppender">
<bufferSize value="1" />
<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<connectionString value="Data Source=LOANER-1122-HP\SQLEXPRESS;Initial Catalog=CAS-Dev;integrated security=false;persist security info=True;User Id=sa;Password=abinash12345;" />
<commandText value="INSERT INTO Log ([Message],[AppName],[TransactionId]) VALUES
(@message, @appName,@transactionId)" />

<parameter>
<parameterName value="@message" />
<dbType value="String" />
<size value="4000" />
<layout type="log4net.Layout.SerializedLayout, log4net.Ext.Json"></layout>
</parameter>
<parameter>
<parameterName value="@appName" />
<dbType value="String" />
<size value="2000" />
<layout type="log4net.Layout.PatternLayout">
<!--<conversionPattern value="%property{Environment}" />-->
<conversionPattern value="APPNAME-LogTest" />
<!--should be a fixed value-->
</layout>
</parameter>
<parameter>
<parameterName value="@transactionId" />
<dbType value="String" />
<size value="2000" />
<layout type="log4net.Layout.PatternLayout" >
<conversionPattern value="%property{TransactionId}" />
</layout>
</parameter>
</appender>

<root>
<level value="ALL" />
<appender-ref ref="TGGADONetAppenderjson" />
</root>

当我调试时,我可以看到自定义属性“TransactionId”的值被放入线程中。但是插入不起作用。 TransactionId 没有记录在消息中,也没有插入到 TransactionId 列中。

我正在使用来自 NuGet 的 log4net json 版本 1.2.13.29

最佳答案

SerializedLayout 中还有一些配置。您需要明确命名该属性。尝试类似的东西:

<layout type='log4net.Layout.SerializedLayout, log4net.Ext.Json'>
<decorator type='log4net.Layout.Decorators.StandardTypesDecorator, log4net.Ext.Json' />
<default /> <!-- explicit default members -->
<member value='TransactionId' /> <!-- explicit property reference -->
</layout>

检查 Members test case这可能对你有帮助。

或者,通过添加 properties 成员序列化所有属性。

关于json - 未读取 Log4net Json 自定义属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29723417/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com