我在网上看到过一些讨论,关于为 logback.XML 文件提供一个 XML 模式或 DTD,至少在 IDEA 或 Eclipse 等 IDE 中具有非常基本的验证和自动完成功能是多么伟大,但我从未看到任何解决方案。
是吗?
截至2011年6月,正式文件指出
很明显,logback 配置文件的语法非常灵活。因此,不可能用 DTD 文件或 XML 架构指定允许的语法。
有 一条简短的线的话题,但似乎没有去任何地方。
根据 文件,它没有得到官方的支持,但是有一个独立的项目提供 Logback 的架构
但是,由于 Logback 配置的极大灵活性,Schema 不能支持所有可能的配置选项。
谢尔盖提到的 独立项目满足了我的大部分要求。
然而,缺少了一些元素,我将它们添加到我自己的 https://github.com/nkatsar/logback-XSD分叉上。希望他们能合并到主项目中去。
<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.padual.com/java/logback.xsd">
来自 GitHub“一个用于 logback 的 XML 模式定义” Https://github.com/nkatsar/logback-xsd
为了消除 Eclipse 中恼人的警告,在 <?xml version="1.0" encoding="UTF-8"?>之后添加 <!DOCTYPE xml>。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE xml>
要在修复之后去除叹号图标,您可能需要再次通过右键单击文件并选择 Validate来触发验证。
Validate
多亏了 https://github.com/enricopulatzo/logback-XSD
如果 xml 没有使用插件或其他扩展机制,这将允许 eclipse 自动完成并验证:
<?xml version="1.0" encoding="UTF-8"?> <configuration xmlns="http://ch.qos.logback/xml/ns/logback" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://ch.qos.logback/xml/ns/logback https://raw.githubusercontent.com/enricopulatzo/logback-XSD/master/src/main/xsd/logback.xsd ">