web-dev-qa-db-fra.com

Schéma XML ou DTD pour logback.xml?

J'ai vu plusieurs discussions sur le net à propos de l'utilité d'un schéma XML ou d'une DTD pour le fichier logback.xml pour au moins la validation de base et l'auto-complétion dans des IDE comme IDEA ou Eclipse mais je n'ai jamais vu de solution.

As tu?

96

Il n’est pas officiellement pris en charge conformément à documentation , mais il existe un projet indépendant visant à fournir Schema for Logback

Cependant, en raison de la flexibilité extrême de la configuration Logback, Schema ne peut pas prendre en charge toutes les options de configuration possibles.

22
Sergey

À partir de juin 2011, le documentation officielle indique

Comme il apparaîtra clairement, la syntaxe des fichiers de configuration de la consignation est extrêmement flexible. En tant que tel, il est impossible de spécifier la syntaxe autorisée avec un fichier DTD ou un schéma XML. 

Il y avait un bref fil sur le sujet, mais cela ne semblait aller nulle part.

77
Eugene Yokota

Juste pour se débarrasser de l'avertissement agaçant dans Eclipse, ajoutez <!DOCTYPE xml> après <?xml version="1.0" encoding="UTF-8"?>.

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

Le projet indépendant mentionné par Sergey couvrait la plupart de mes besoins.

Cependant, certains éléments manquaient, je les ai ajoutés sur mon propre fork sur https://github.com/nkatsar/logback-XSD . J'espère qu'ils seront fusionnés dans le projet principal.

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

from GitHub "Une définition de schéma XML pour la journalisation" https://github.com/nkatsar/logback-XSD

2

Une réponse légèrement différente permettant l'auto-complétion d'Eclipse est la suivante:

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