XML-схема або DTD для logback.xml?


108

Я бачив кілька дискусій в мережі про те, як було б добре мати схему XML або DTD для файлу logback.xml, щоб мати принаймні саму основну перевірку та автоматичне заповнення в IDE, таких як IDEA або Eclipse, але я ніколи не бачив будь-яке рішення.

Ти що?


38
Що стосується перевірки та автоматичного завершення, дивіться відповіді нижче ... але щоб отримати затемнення, щоб перестати попереджати мене, я використовую старий надійний DTD <!DOCTYPE configuration>. Я не витримую попереджень щодо моїх проектів, я думаю, OCD.
Лукас

6
@Lucas Не так OCD, я б сказав. Нерелевантні попередження можуть затьмарити важливі попередження. Просто зі мною трапилося.
raphinesse

2
Я теж трохи нав'язливий, як це, але додавши цю рядок <! DOCTYPE>, як ви пропонуєте, нічого не видалили для мене попередження ... будь-яка ідея ??
Марк

1
Після додавання рядка <! DOCTYPE> потрібно запустити перевірку, наприклад, через контекстне меню "Підтвердити".
Мануель

Відповіді:


31

Офіційно він не підтримується згідно з документацією , але існує незалежний проект зі створення схеми для зворотного зв'язку

Однак через надзвичайну гнучкість конфігурації Logback, схема не може підтримувати всі можливі параметри конфігурації.


1
Це рішення працює. Просто помістіть logback.xsdу той самий каталог, що logback.xmlі, і додайте його до свого проекту вручну. Наприклад, в IntelliJ, ви повинні зайти Settings > Languages & Frameworks > Schemas and DTDsта натиснути зелене "+", щоб додати зовнішній ресурс. Установіть "URI" на " http://ch.qos.logback/xml/ns/logbackта" Місцезнаходження "на розташування logback.xsd.
Джонатан Ландрум

1
Я щойно створив скорочувач URL для файлу logback.xsd цього проекту, і він працює як очікувалося. Ви можете використовуватиxsi:schemaLocation="http://ch.qos.logback/xml/ns/logback https://git.io/logback.xsd"
Osguima3

81

Станом на червень 2011 року в офіційній документації зазначено

Як стане зрозуміло, синтаксис файлів конфігурації зворотного зв'язку є надзвичайно гнучким. Таким чином, неможливо вказати дозволений синтаксис з файлом 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, запустити перевірку ще раз, клацнувши правою кнопкою миші файл і вибравши "Перевірити".
Номенон

1
@Noumenon Я додам ваш коментар до своєї відповіді. Дякую!
Адріан Бер

3

Незалежний проект , згаданий Сергій охоплює більшість моїх вимог.

Однак деякі елементи бракували, я додав їх у себе на вилці на https://github.com/nkatsar/logback-XSD . Сподіваюся, вони об'єднаються в основному проекті.


Зараз це було об’єднано. Згідно з Github Network Graph , схема Enricopulatzo здається найбагатшим джерелом.
Олів'є Кайло

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


Хоча це теоретично може відповісти на питання, бажано було б сюди включити істотні частини відповіді та надати посилання для довідки.
Рохіт Гупта

1
Наскільки повна підтримка в цьому репо?
Владислав Раструсний

Для тих, хто настає після такого, як я, попереднє місцезнаходження 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">
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.