[英]How to log Byte[] data in log4net using AdoNetAppender
我想使用log4net的AdoNetAppender
在[varbinary](max)
SQL表列中記錄gzip壓縮的字符串,該字符串將采用二進制Byte[]
格式。
我的問題:
1)這可能嗎? 如果是這樣,我需要在下面的配置文件中使用什么dbType
作為參數:
<parameter>
<parameterName value="@Data" />
<dbType value="String" />
<size value="2147483647" />
<layout type="log4net.Layout.RawPropertyLayout">
<key value="Data" />
</layout>
</parameter
2)除了將值轉換為字符串然后進行記錄之外,還有其他選擇嗎?
我認為記錄二進制Byte []的最佳方法是將其轉換為base64字符串。 無法將Byte []類型作為值傳遞給log4net日志記錄方法。
您可以像這樣在CommandText中將字符串轉換為Byte []:
<commandText value="INSERT INTO [LogServer]
([Date], [Logger], [message], [Exception], [BinaryMessage], [BinaryException])
VALUES
(@log_date, @logger, @message, @exception, cast(@message as varbinary(max)), cast(@exception as varbinary(max)) )"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.