簡體   English   中英

如何使用AdoNetAppender在Log4net中記錄Byte []數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM