自身でも調べてみましたが、全く実現方式が見つけられないため質問させていただきます。
キーワードや「こんな処理を加えればできるかも」などのアドバイスでもよろしいのでご教示お願いします。
前提
- Spring Boot + JPA + HibernateでDBアクセスをしている
- application.propertiesを以下のように設定し、実行したクエリやそのパラメーターを
標準出力している。
spring.jpa.properties.hibernate.show_sql=true spring.jpa.properties.hibernate.use_sql_comments=true spring.jpa.properties.hibernate.format_sql=true logging.level.org.hibernate.SQL=DEBUG logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE logging.leve=debug
そして標準出力された結果例は以下です。
Hibernate: select itemdetail0_.id as id1_1_0_, itemdetail0_.type as type2_1_0_, itemdetail0_.data1 as data3_1_0_, itemdetail0_.data2 as data4_1_0_, itemdetail0_.data3 as data5_1_0_ from item_detail itemdetail0_ where itemdetail0_.id=? and itemdetail0_.type=? 2019-02-21 19:47:15.777 org.hibernate.type.descriptor.sql.BasicBinder TRACE binding parameter [1] as [INTEGER] - [1] 2019-02-21 19:47:15.783 org.hibernate.type.descriptor.sql.BasicBinder TRACE binding parameter [2] as [INTEGER] - [1]``` ###やりたいこと (概要) 標準出力されるパラメーターをマスキングできるのか (詳細) 上記例でいくと binding parameter [1] as [INTEGER] - [1] binding parameter [2] as [INTEGER] - [1] [1]という部分がクエリのパラメーターとなりますが、この値を[*]のようにマスキングしたいです。 目的としてはログにセンシティブな情報を残さないためです。 ###質問したいこと ・そもそも上記の「やりたいこと」で記載したことは実現可能か ・実現可能であればどのようなことをすればよいか ###利用技術 ・Spring Boot ・JPA ・Hibernate ・Log4J2
あなたの回答
tips
プレビュー