131 votes

Schéma XML ou DTD pour logback.xml ?

J'ai vu plusieurs discussions sur le net sur la façon dont il serait génial d'avoir un schéma XML ou DTD pour le fichier logback.xml pour avoir 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.

Tu l'as fait ?

39 votes

Pour ce qui est de la validation et de l'autocomplétion, voir les réponses ci-dessous... mais pour qu'Eclipse cesse de m'avertir, j'utilise une vieille DTD de confiance, à savoir <!DOCTYPE configuration> . Je ne supporte pas les avertissements sur mes projets, un TOC je suppose.

6 votes

Lucas Je dirais que ce n'est pas un TOC. Les avertissements non pertinents peuvent faire de l'ombre aux avertissements importants. Cela vient de m'arriver.

2 votes

Je suis un peu compulsif comme ça aussi, mais ajouter cette ligne <!DOCTYPE configuration> comme vous le suggérez n'a rien fait pour supprimer l'avertissement pour moi... une idée ?

86voto

Adrian Ber Points 1829

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

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

Pour faire disparaître l'icône de point d'exclamation après avoir corrigé le problème, vous devrez peut-être déclencher à nouveau la validation en cliquant avec le bouton droit de la souris sur le fichier et en sélectionnant Validate .

85voto

Eugene Yokota Points 43213

En juin 2011, le documentation officielle États

Comme nous allons le voir, la syntaxe des fichiers de configuration de logback est extrêmement flexible. En tant que tel, il n'est pas possible de spécifier la syntaxe autorisée avec un fichier DTD ou un schéma XML.

Il y avait un bref fil conducteur sur le sujet, mais ça n'a pas semblé aller bien loin.

32 votes

De la même manière que la langue anglaise est extrêmement flexible, elle n'a donc pas de règles grammaticales ????. Quelle excuse bidon !

35voto

Sergey Points 368

Il n'est pas pris en charge officiellement selon le documentation mais il existe un projet indépendant visant à fournir Schéma pour Logback

Toutefois, en raison de l'extrême souplesse de la configuration de Logback, Schema ne peut pas prendre en charge toutes les options de configuration possibles.

1 votes

Cette solution fonctionne. Il suffit de mettre logback.xsd dans le même répertoire que logback.xml et l'ajouter manuellement à votre projet. Dans IntelliJ, par exemple, vous allez à Settings > Languages & Frameworks > Schemas and DTDs et cliquez sur le "+" vert pour ajouter une ressource externe. Définissez "URI" sur http://ch.qos.logback/xml/ns/logback et "Emplacement" à l'emplacement de logback.xsd .

1 votes

Je viens de créer un raccourcisseur d'url pour le fichier logback.xsd de ce projet, et il fonctionne comme prévu. Vous pouvez utiliser xsi:schemaLocation="http://ch.qos.logback/xml/ns/logback https://git.io/logback.xsd"

3voto

nkatsar Points 1300

El projet indépendant mentionnés par Sergey ont couvert la plupart de mes besoins.

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

2voto

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

de GitHub "An XML Schema Definition for logback" (en anglais) https://github.com/nkatsar/logback-XSD

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X