我有一个基本功能,允许用户远程应用对我的应用程序中的日志文件的更改。有些日志是使用 java.util.logging 属性文件配置的,有些是使用 log4j/log4cplus 样式的属性文件配置的。我想对用户尝试应用的属性进行一些基本验证。即,我想保证以下几点:
- 每个 logging.properties 文件必须始终至少包含一个根记录器/日志记录级别
- 记录器/级别必须设置为有效值。也就是说,他们不应该设置 .level = GIBBERISH 或类似的东西。
- 我可能也会允许他们设置 MaxFileSize 和 MaxBackupIndex (log4j),以及 .limit 和 .count 属性 (java.util.logging)。
实现这一目标的最佳方法是什么?我显然可以遍历 Properties 对象中的键和值,并在硬编码的 Map 或其他一些告诉有效属性的数据结构中查找它们的值,但我正在尝试提出一个解决方案比这更优雅一点。