119

我已经在网上看到了一些关于如果有一个 XML 模式或 DTD for logback.xml 文件至少在 IDEA 或 Eclipse 等 IDE 中具有非常基本的验证和自动完成功能的讨论,但我从未见过任何解决方案。

你是否?

4

6 回答 6

85

截至 2011 年 6 月,官方文档指出

很明显,logback 配置文件的语法非常灵活。因此,不可能使用 DTD 文件或 XML Schema 指定允许的语法。

关于这个话题有一个简短的线程,但似乎没有去任何地方。

于 2011-06-29T00:06:54.653 回答
82

只是为了摆脱 Eclipse 中恼人的警告,<!DOCTYPE xml><?xml version="1.0" encoding="UTF-8"?>.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>

要在修复后去掉感叹号图标,您可能需要通过右键单击文件并选择Validate.

于 2015-07-28T09:19:52.087 回答
35

根据文档官方不支持,但是有一个独立的项目为Logback提供Schema

但是,由于 Logback 配置的极大灵活性,Schema 无法支持所有可能的配置选项。

于 2012-12-24T20:37:23.647 回答
3

Sergey 提到的独立项目涵盖了我的大部分需求。

但是,缺少一些元素,我在https://github.com/nkatsar/logback-XSD上自己的 fork 上添加了它们。希望他们能合并到主项目中。

于 2014-11-19T13:02:00.227 回答
2
<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

于 2015-07-08T00:45:34.700 回答
-1

允许 Eclipse 自动完成的稍微不同的答案是:

<?xml version="1.0" encoding="UTF-8"?>
<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.padual.com/java/logback.xsd" 
    debug="true" packagingData="true" scan="true" scanPeriod="30 seconds">

2020-11-02 更新

感谢https://github.com/enricopulatzo/logback-XSD

<?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">
于 2017-03-17T23:43:02.293 回答