遅いクエリをすべて別のファイルに記録しようとしています。今まで私は、次のTomcatのコンテキストコンフィギュレーションする必要があります。tomcat jdbc SlowQueryReportインターセプタ - 別のファイルにログイン
<Resource name="jdbc/paymentDB" auth="Container" type="org.apache.tomcat.jdbc.pool.DataSource"
driverClassName="...oracle..."
...
jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.QueryTimeoutInterceptor(queryTimeout=2);org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReport(threshold=1000,maxQueries=200)"
</Context>
これがある限り、私は別の種類のロガーを設定しないと、それはコンソールに出力して動作します。私が追加しなければならないことの1つは、デフォルトのIDE設定を使用してIntelliJ Ideaでこのテストを実行することです。
私がやりたかったのは、別のファイルにログインすることでした。だから私は、次の変更をlogging.propertiesを開けました:
handlers = ..., 5slowqueries.org.apache.juli.FileHandler, ...
.handlers =..., 5slowqueries.org.apache.juli.FileHandler, ...
5slowqueries.org.apache.juli.FileHandler.level = ALL
5slowqueries.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
5slowqueries.org.apache.juli.FileHandler.prefix = slow-queries.
org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReport.level = ALL
org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReport.handlers = 5slowqueries.org.apache.juli.FileHandler
問題は同じ遅いクエリを実行すると、この設定を使用して、以前のコンソールで、この時間を印刷してきた、何slow-queries.*
ファイルが作成されないということです。
私はこの作業を行う方法を見つけ出すことはできません(私はIntelliJのアイデアからこれを実行しました)。多分それはIDEと関係がありますか?私はIDEAがRun/Debug Configurations
にログカテゴリを持っていることに気付きました。私はこれらのオプションで遊んだりしようとしましたが、幸運はありませんでした。