0

log4netByte[]の. _[varbinary](max)AdoNetAppender

私の質問:

1) これは可能ですか? その場合、dbType以下の構成ファイルでパラメーターとして使用する必要があるもの:

   <parameter>
    <parameterName value="@Data" />
    <dbType value="String" />
    <size value="2147483647" />
    <layout type="log4net.Layout.RawPropertyLayout">
      <key value="Data" />
    </layout>
  </parameter

2) 値を文字列に変換してからログに記録する以外の方法はありますか。

4

2 に答える 2

2

バイナリ Byte[] をログに記録する最善の方法は、base64 文字列に変換することだと思います。Byte[] 型を値として log4net ロギング メソッドに渡す方法はありません。

于 2016-02-16T19:35:10.437 に答える
0

次のように、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)) )"/>
于 2016-11-03T15:08:44.187 に答える