我已经在网上看到了一些关于如果有一个 XML 模式或 DTD for logback.xml 文件至少在 IDEA 或 Eclipse 等 IDE 中具有非常基本的验证和自动完成功能的讨论,但我从未见过任何解决方案。
你是否?
<!DOCTYPE configuration>
。不能忍受对我的项目的警告,我猜是强迫症。
截至 2011 年 6 月,official documentation 州
很明显,logback 配置文件的语法非常灵活。因此,不可能使用 DTD 文件或 XML Schema 指定允许的语法。
该主题有 a brief thread,但似乎无处可去。
只是为了摆脱 Eclipse 中恼人的警告,在 <?xml version="1.0" encoding="UTF-8"?>
之后添加 <!DOCTYPE xml>
。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
要在修复后去掉感叹号图标,您可能需要通过右键单击文件并选择 Validate
再次触发验证。
<!DOCTYPE configuration>
。它对我有用Version: Oxygen.2 Release (4.7.2) Build id: 20171218-0600
根据documentation官方不支持,但有独立项目提供Schema for Logback
但是,由于 Logback 配置的极大灵活性,Schema 无法支持所有可能的配置选项。
logback.xsd
放在与 logback.xml
相同的目录中,然后手动将其添加到您的项目中。例如,在 IntelliJ 中,您将转到 Settings > Languages & Frameworks > Schemas and DTDs
并单击绿色“+”以添加外部资源。将“URI”设置为 http://ch.qos.logback/xml/ns/logback
,将“位置”设置为 logback.xsd
的位置。
xsi:schemaLocation="http://ch.qos.logback/xml/ns/logback https://git.io/logback.xsd"
Sergey 提到的 independent project 涵盖了我的大部分要求。
但是,缺少一些元素,我在 https://github.com/nkatsar/logback-XSD 上将它们添加到我自己的 fork 中。希望他们能合并到主项目中。
<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
感谢https://github.com/enricopulatzo/logback-XSD
这将允许 Eclipse 自动完成并验证 xml 是否未使用插件或其他扩展机制:
<?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
">
<variable
(在 <configuration
下)<Name
或 <immediateFlush>
在 <appender
下!