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.
No que diz respeito à validação e autocompletar, veja as respostas abaixo ... mas para fazer o eclipse parar de me avisar, eu uso um velho e confiável DTD de <!DOCTYPE configuration>. Não suporto avisos sobre meus projetos, TOC, eu acho.
Lucas
6
@Lucas Não é tão TOC, eu diria. Avisos irrelevantes podem obscurecer avisos importantes. Aconteceu comigo.
raphinesse
2
Eu sou um pouco compulsivo assim também, mas adicionar esta linha <! DOCTYPE configuration> como você sugeriu não ajudou em nada para remover o aviso para mim ... alguma idéia ??
Marc
1
Depois de adicionar a linha <! DOCTYPE configuration>, é necessário acionar a validação, por exemplo, através do menu de contexto 'Validate'.
Manuel
Respostas:
31
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.
Essa solução funciona. Basta colocar logback.xsdno mesmo diretório logback.xmle adicioná-lo ao seu projeto manualmente. No IntelliJ, por exemplo, você acessa Settings > Languages & Frameworks > Schemas and DTDse clica no "+" verde para adicionar um recurso externo. Defina "URI" como http://ch.qos.logback/xml/ns/logbacke "Local" como o local de logback.xsd.
Jonathan Landrum,
1
Acabei de criar um encurtador de url para o arquivo logback.xsd deste projeto e está funcionando conforme o esperado. Você pode usarxsi:schemaLocation="http://ch.qos.logback/xml/ns/logback https://git.io/logback.xsd"
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.
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.
Como diz o comentário de @lucas, use <!DOCTYPE configuration>. Funciona para mimVersion: Oxygen.2 Release (4.7.2) Build id: 20171218-0600
Shamal Karunarathne
Para se livrar do ícone de ponto de exclamação após corrigi-lo, como disse @Manuel, acione a validação novamente clicando com o botão direito do mouse no arquivo e escolhendo "Validar".
Noumenon
1
@Noumenon adicionarei seu comentário à minha resposta. Obrigado!
Adrian Ber
3
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.
Embora isso possa teoricamente responder à pergunta, seria preferível incluir as partes essenciais da resposta aqui e fornecer o link para referência.
Rohit Gupta
1
Quão completo o suporte existe nesse repo?
Vladislav Rastrusny
Para os próximos anos, como eu, a localização xsd anterior não é mais válida. Você pode consultar git.io/logback.xsd conforme mencionado em uma resposta anterior
gavard.e
0
Uma resposta ligeiramente diferente que permite o preenchimento automático do eclipse é:
<!DOCTYPE configuration>
. Não suporto avisos sobre meus projetos, TOC, eu acho.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.
fonte
logback.xsd
no mesmo diretóriologback.xml
e adicioná-lo ao seu projeto manualmente. No IntelliJ, por exemplo, você acessaSettings > Languages & Frameworks > Schemas and DTDs
e clica no "+" verde para adicionar um recurso externo. Defina "URI" comohttp://ch.qos.logback/xml/ns/logback
e "Local" como o local delogback.xsd
.xsi:schemaLocation="http://ch.qos.logback/xml/ns/logback https://git.io/logback.xsd"
Em junho de 2011, a documentação oficial afirma
Houve um breve tópico sobre o assunto, mas não parecia ir a lugar nenhum.
fonte
Apenas para se livrar do aviso irritante no Eclipse, adicione
<!DOCTYPE xml>
depois<?xml version="1.0" encoding="UTF-8"?>
.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
.fonte
<!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.
fonte
do GitHub "Uma definição de esquema XML para logback" https://github.com/nkatsar/logback-XSD
fonte
Uma resposta ligeiramente diferente que permite o preenchimento automático do eclipse é:
fonte