logback.xmlのXMLスキーマまたはDTD?


108

IDEやEclipseなどのIDEで少なくとも非常に基本的な検証とオートコンプリートを行うには、logback.xmlファイルのXMLスキーマまたはDTDがどれほど優れているかについて、ネット上でいくつかの議論を見てきましたが、任意のソリューション。

しましたか?


38
検証とオートコンプリートに関する限り、以下の回答を参照してください...しかし、Eclipseが警告を表示しないようにするには、信頼できる古いDTDを使用します<!DOCTYPE configuration>。私のプロジェクトに関する警告は我慢できないと思います。
Lucas

6
@Lucas OCDではないので、私は言います。無関係な警告は重要な警告を隠すことができます。ちょうど私に起こりました。
ラフィネス14

2
私もそのように強迫的ですが、提案されているようにこの<!DOCTYPE configuration>行を追加しても、警告は削除されませんでした。
Marc

1
<!DOCTYPE configuration>行を追加した後、たとえばコンテキストメニューの「Validate」を使用して検証をトリガーする必要があります。
Manuel

回答:


31

ドキュメントによれば公式にはサポートされていませんが、Logbackのスキーマを提供する独立したプロジェクトがあります

ただし、Logback構成は非常に柔軟であるため、Schemaはすべての可能な構成オプションをサポートできるわけではありません。


1
このソリューションは機能します。とlogback.xsd同じディレクトリに置き、logback.xmlプロジェクトに手動で追加するだけです。たとえば、IntelliJではSettings > Languages & Frameworks > Schemas and DTDs、緑色の「+」に移動してクリックし、外部リソースを追加します。「URI」をにhttp://ch.qos.logback/xml/ns/logback、「場所」をの場所に設定しlogback.xsdます。
ジョナサンランドラム2017

1
このプロジェクトのlogback.xsdファイルのURL短縮プログラムを作成したところ、期待どおりに機能しています。使用できますxsi:schemaLocation="http://ch.qos.logback/xml/ns/logback https://git.io/logback.xsd"
Osguima3

81

2011年6月現在、公式文書に

明らかになるように、logback設定ファイルの構文は非常に柔軟です。そのため、DTDファイルまたはXMLスキーマで許可された構文を指定することはできません。

トピックには短いスレッドがありましたがどこにも行きませんでした。


13
英語が非常に柔軟であるのと同じように、それは文法規則を持っていません???? なんと言い訳の警官!
ケン・アルトン

77

Eclipseの迷惑な警告を取り除くために、<!DOCTYPE xml>後で追加し<?xml version="1.0" encoding="UTF-8"?>ます。

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

感嘆符アイコンを修正した後でそれを取り除くには、ファイルを右クリックしてを選択して、検証を再度トリガーする必要がある場合がありますValidate


3
@lucasによるコメントのとおり、を使用します<!DOCTYPE configuration>。それは私のために働きますVersion: Oxygen.2 Release (4.7.2) Build id: 20171218-0600
Shamal Karunarathne

@Manuelが言ったように、修正後に感嘆符のアイコンを取り除くには、ファイルを右クリックして[Validate]を選択し、検証を再度トリガーします。
ヌーメノン

1
@Noumenon回答にコメントを追加します。ありがとう!
エイドリアンバー

3

独立したプロジェクトセルゲイ言及は私の要件のほとんどをカバーしました。

ただし、一部の要素が欠落していたため、https://github.com/nkatsar/logback-XSDの自分のフォークに追加しました。メインプロジェクトに統合されることを願っています。


現在は統合されています。Github Network Graphによると、enricopulatzoのスキーマが最も豊富なソースのようです。
Olivier Cailloux

2
<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.padual.com/java/logback.xsd">

GitHubから「ログバック用のXMLスキーマ定義」 https://github.com/nkatsar/logback-XSD


これは理論的には質問に答えることができますが、ここに答えの本質的な部分を含め、参照用のリンクを提供することが望ましいでしょう
Rohit Gupta

1
そのリポジトリにはどのくらい完全なサポートがありますか?
Vladislav Rastrusny

私のように今後数年は、以前のxsdの場所は無効になります。以前の応答で述べたように、git.io / logback.xsdを参照できます
gavard.e

0

日食のオートコンプリートを許可する少し異なる答えは次のとおりです。

<?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">
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.