
私は、多数の顧客向けに Tomcat で実行されるソフトウェア システムをホストしています。これらの中には、リクエストとして無効な URL を送信するものがあります。これらの URL には、http 仕様に含まれない "&=" または "&&" が含まれている可能性があります。現在、私の Tomcat は次のようなエラー メッセージを表示します。"08.09.2010 12:36:04 org.apache.tomcat.util.http.Parameters processParameters 警告: パラメータ: 無効なチャンク '' は無視されます。"
これは操作にまったく影響しないので問題ありません。唯一の問題は、tomcat/logs/catalina.out がリクエストごとに大きくなることです。
ネットでは、次のような提案を見つけることができます: - URL を修正する (URL を送信するのは顧客なので、私にはできません) - Tomcat のログ レベルを ERROR に上げる (これは、"INFO: Reloading context [/ContextName]" などの INFO や、知りたいその他の情報が表示されなくなるため、やりたくありません) - ログをアプリケーション ログにリダイレクトする (この方法では、メッセージが別のログに大量に書き込まれるため、問題は解決しません)
誰か根本的な問題を解決する方法を知っていますか?つまり、Tomcatに無効なリクエストパラメータについて文句を言わないように指示するということです。
答え1
やったー、自分で見つけたよ ;-)
tomcatのソースコードを詳しく調べたところ、次の行をtomcat/conf/logging.propertiesに追加することで、org.apache.tomcat.util.http.Parametersの警告を簡単に無効にできることに気付きました。
org.apache.tomcat.util.http.Parameters.level=SEVERE
サーバーを一度再起動すると静かになります。