logback.xml 的 XML 架构或 DTD?

问题描述 投票:0回答:7

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

你有吗?

java xsd logback dtd xml
7个回答
86
投票

只是为了摆脱 Eclipse 中烦人的警告,在

<!DOCTYPE xml>
之后添加
<?xml version="1.0" encoding="UTF-8"?>

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

要在修复后消除感叹号图标,您可能需要右键单击文件并选择

Validate
来再次触发验证。


85
投票

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

应该清楚的是,logback 配置文件的语法非常灵活。因此,不可能使用 DTD 文件或 XML 模式指定允许的语法。

关于该主题有一个简短的线索,但似乎没有任何进展。


36
投票

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

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


3
投票

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

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


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


1
投票

感谢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
">

0
投票

<?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
">

使用这条线。它会自动从远程下载。我们不需要下载文件

© www.soinside.com 2019 - 2024. All rights reserved.