用于 logback.XML 的 XML 模式还是 DTD?

我在网上看到过一些讨论,关于为 logback.XML 文件提供一个 XML 模式或 DTD,至少在 IDEA 或 Eclipse 等 IDE 中具有非常基本的验证和自动完成功能是多么伟大,但我从未看到任何解决方案。

是吗?

42538 次浏览

截至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>

要在修复之后去除叹号图标,您可能需要再次通过右键单击文件并选择 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
">