Já vi várias discussões na rede sobre como seria ótimo ter um esquema XML ou DTD para o arquivo logback.xml para ter pelo menos a validação básica e o preenchimento automático em IDEs como IDEA ou Eclipse, mas nunca vi qualquer solução.
Você fez?
Já vi várias discussões na rede sobre como seria ótimo ter um esquema XML ou DTD para o arquivo logback.xml para ter pelo menos a validação básica e o preenchimento automático em IDEs como IDEA ou Eclipse, mas nunca vi qualquer solução.
Você fez?
Respostas:
Não é suportado oficialmente de acordo com a documentação , mas existe um projeto independente para fornecer Schema para Logback
No entanto, devido à extrema flexibilidade da configuração do Logback, o Schema não pode suportar todas as opções de configuração possíveis.
logback.xsd
no mesmo diretório logback.xml
e adicioná-lo ao seu projeto manualmente. No IntelliJ, por exemplo, você acessa Settings > Languages & Frameworks > Schemas and DTDs
e clica no "+" verde para adicionar um recurso externo. Defina "URI" como http://ch.qos.logback/xml/ns/logback
e "Local" como o local de logback.xsd
.
xsi:schemaLocation="http://ch.qos.logback/xml/ns/logback https://git.io/logback.xsd"
Em junho de 2011, a documentação oficial afirma
Como ficará claro, a sintaxe dos arquivos de configuração de logback é extremamente flexível. Como tal, não é possível especificar a sintaxe permitida com um arquivo DTD ou um Esquema XML.
Houve um breve tópico sobre o assunto, mas não parecia ir a lugar nenhum.
Apenas para se livrar do aviso irritante no Eclipse, adicione <!DOCTYPE xml>
depois <?xml version="1.0" encoding="UTF-8"?>
.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
Para se livrar do ícone de ponto de exclamação após corrigi-lo, pode ser necessário acionar a validação novamente clicando com o botão direito no arquivo e escolhendo Validate
.
<!DOCTYPE configuration>
. Funciona para mimVersion: Oxygen.2 Release (4.7.2) Build id: 20171218-0600
O projeto independente mencionado por Sergey cobriu a maioria dos meus requisitos.
No entanto, alguns elementos estavam faltando, eu os adicionei em minha própria bifurcação em https://github.com/nkatsar/logback-XSD . Espero que eles sejam mesclados no projeto principal.
<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.padual.com/java/logback.xsd">
do GitHub "Uma definição de esquema XML para logback" https://github.com/nkatsar/logback-XSD
Uma resposta ligeiramente diferente que permite o preenchimento automático do eclipse é:
<?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">
<!DOCTYPE configuration>
. Não suporto avisos sobre meus projetos, TOC, eu acho.