そのため、実際にアクティブな mySQL サーバーを使用せずに、実行される SQL ステートメントをログに記録する方法を見つけようとしています。
私が解決しようとしている問題は、現在、リモートの mySQL インスタンスとローカル (アーカイブ データ) の両方にデータを書き込んでいることです。リモートが到達不能/ダウンした場合などに備えて、バックアップとしてローカルにログを記録しています。
そのため、代わりに SQL ステートメントをローカルにログに記録することをお勧めします (Spring JDBC テンプレートを使用して変数置換を行います)。そのため、SQL を自分でつなぎ合わせてファイルに書き込むほど簡単ではありません。 .
ブラックホール エンジンを使用している場合でも、ローカルの mySQL インスタンスをアクティブにする必要があることを除いて、見栄えの良いlog4jdbcを見つけました。リモート サーバーで log4jdbc を使用することもできると思いましたが、接続が切断された場合、JDBCTemplate は、エラーが発生する前に、基盤となる JDBC ドライバー オブジェクトに対してクエリを実行しようとしますか? ほとんどのプーリング メカニズムは、接続を返す前に検証するため、クエリが実行されてログに記録される前に失敗するだけです。
では、誰が明るいアイデアを持っていますか?