Esquema XML o DTD para logback.xml?


He visto varias discusiones en la red sobre lo genial que sería tener un esquema XML o DTD para logback.archivo xml para tener al menos la validación muy básica y autocompletado en IDEs como IDEA o Eclipse, pero nunca vi ninguna solución.

¿Lo hiciste?

Author: Vladislav Rastrusny, 2011-04-20

6 answers

No se admite oficialmente de acuerdo con la documentación , pero hay un proyecto independiente para proporcionar Esquema para Logback

Sin embargo, debido a la extrema flexibilidad de la configuración de Logback, Schema no puede soportar todas las opciones de configuración posibles.

 21
Author: Sergey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-04 10:25:05

A partir de junio de 2011, la documentación oficial establece

Como quedará claro, la sintaxis de los archivos de configuración de logback es extremadamente flexible. Como tal, no es posible especificar la sintaxis permitida con un archivo DTD o un esquema XML.

Hubo un breve hilo sobre el tema, pero no parecía ir a ninguna parte.

 77
Author: Eugene Yokota,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-04 16:51:59

Solo para deshacerse de la molesta advertencia en Eclipse, agregue <!DOCTYPE xml> después de <?xml version="1.0" encoding="UTF-8"?>.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
 69
Author: Adrian Ber,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-28 09:19:52

El proyecto independiente mencionado por Sergey cubrió la mayoría de mis necesidades.

Sin embargo, faltaban algunos elementos, los agregué en mi propio tenedor en on https://github.com/nkatsar/logback-XSD . Espero que se fusionen en el proyecto principal.

 3
Author: nkatsar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-11-19 13:02:00
<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.padual.com/java/logback.xsd">

From GitHub " Una definición de Esquema XML para logback" https://github.com/nkatsar/logback-XSD

 2
Author: Ricardo Padua Soares,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-08 00:45:34

Una respuesta ligeramente diferente que permite autocompletar eclipse es:

<?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
Author: raisercostin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-17 23:43:02