ユーザーがアプリケーションのログファイルに変更をリモートで適用できるようにするための基本的な機能があります。一部のログはjava.util.loggingプロパティファイルを使用して構成され、一部はlog4j/log4cplusスタイルのプロパティファイルを使用して構成されます。ユーザーが適用しようとしているプロパティの基本的な検証を行いたいと思います。つまり、私は次のことを保証したいと思います。
- すべてのlogging.propertiesファイルには、常に少なくともルートロガー/ロギングレベルが含まれている必要があります
- ロガー/レベルは有効な値に設定する必要があります。つまり、.level=GIBBERISHなどを設定できないようにする必要があります。
- おそらく、MaxFileSizeとMaxBackupIndex(log4j)、および.limitプロパティと.countプロパティ(java.util.logging)も設定できるようにします。
これを達成するための最良の方法は何ですか?明らかに、Propertiesオブジェクトのキーと値をループして、ハードコードされたマップまたは有効なプロパティが何であるかを示す他のデータ構造でそれらの値を探すことができますが、私は次のような解決策を考え出そうとしています。それより少しエレガントです。