logback.xml의 XML 스키마 또는 DTD?


108

나는 logback.xml 파일에 대한 XML 스키마 또는 DTD가 IDEA 또는 Eclipse와 같은 IDE에서 최소한 매우 기본적인 유효성 검사 및 자동 완성 기능을 갖는 것이 얼마나 좋을지에 대해 인터넷에서 여러 토론을 보았습니다. 모든 솔루션.

당신은?


38
유효성 검사 및 자동 완성에 관해서는 아래 답변을 참조하십시오 ...하지만 경고를 중지하기 위해 일식을 얻으려면 신뢰할 수있는 오래된 DTD를 사용 <!DOCTYPE configuration>합니다. 내 프로젝트에 대한 경고를 참을 수 없습니다. OCD라고 생각합니다.
Lucas

6
@Lucas 그렇게 OCD라고 말하고 싶습니다. 관련없는 경고는 중요한 경고를 가릴 수 있습니다. 나에게 일어난 일입니다.
raphinesse

2
나도 그렇게 강박 적이지만, 당신이 제안한대로이 <! DOCTYPE configuration> 줄을 추가하면 경고를 제거 할 수 없습니다 ... 어떤 아이디어 ??
Marc

1
<! DOCTYPE configuration> 줄을 추가 한 후 컨텍스트 메뉴 'Validate'를 통해 유효성 검사를 트리거해야합니다.
Manuel

답변:


31

문서 에 따르면 공식적으로 지원되지는 않지만 제공 할 독립적 인 프로젝트가 있습니다. Logback Schema

그러나 Logback 구성의 유연성이 매우 높기 때문에 Schema는 가능한 모든 구성 옵션을 지원할 수 없습니다.


1
이 솔루션이 작동합니다. logback.xsd같은 디렉토리에 넣고 logback.xml수동으로 프로젝트에 추가하십시오. 예를 들어 IntelliJ에서는 Settings > Languages & Frameworks > Schemas and DTDs녹색 "+"로 이동하여 클릭하여 외부 리소스를 추가합니다. "URI"를로 설정 http://ch.qos.logback/xml/ns/logback하고 "위치"를의 위치로 설정 logback.xsd합니다.
Jonathan Landrum

1
방금이 프로젝트의 logback.xsd 파일에 대한 URL 단축기를 만들었으며 예상대로 작동합니다. 당신은 사용할 수 있습니다xsi:schemaLocation="http://ch.qos.logback/xml/ns/logback https://git.io/logback.xsd"
Osguima3

81

2011 년 6 월 현재 공식 문서 에는

분명히 알 수 있듯이 로그 백 구성 파일의 구문은 매우 유연합니다. 따라서 DTD 파일 또는 XML 스키마를 사용하여 허용 된 구문을 지정할 수 없습니다.

있었다 간단한 스레드 주제에,하지만 아무데도 갈 것 같지 않았다.


13
같은 방식으로 영어는 매우 유연하므로 문법 규칙이 없습니다 ???? 변명의 여지가 없습니다!
Ken Alton

77

그냥 이클립스 추가의 성가신 경고를 제거하는 <!DOCTYPE xml><?xml version="1.0" encoding="UTF-8"?>.

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

느낌표 아이콘을 수정 한 후 제거하려면 파일을 마우스 오른쪽 단추로 클릭하고을 선택하여 유효성 검사를 다시 트리거해야 할 수 있습니다 Validate.


3
@lucas의 의견에서 말했듯이 <!DOCTYPE configuration>. 그것은 나를 위해 작동합니다Version: Oxygen.2 Release (4.7.2) Build id: 20171218-0600
Shamal Karunarathne

@Manuel이 말했듯이 느낌표 아이콘을 수정 한 후 제거하려면 파일을 마우스 오른쪽 단추로 클릭하고 "Validate"를 선택하여 유효성 검사를 다시 트리거합니다.
Noumenon

1
@Noumenon 내 답변에 귀하의 의견을 추가하겠습니다. 감사!
Adrian Ber


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

GitHub "로그 백을위한 XML 스키마 정의" https://github.com/nkatsar/logback-XSD


이 이론적으로 질문에 대답 할 수 있습니다 동안, 바람직 할 것이다 여기에 대한 대답의 본질적인 부분을 포함하고 참조 할 수 있도록 링크를 제공합니다.
Rohit Gupta 2015

1
해당 저장소에 얼마나 완벽한 지원이 있습니까?
Vladislav Rastrusny

나와 같은 이후 몇 년 동안 이전 xsd 위치는 더 이상 유효하지 않습니다. 이전 응답에서 언급 한대로 git.io/logback.xsd 를 참조 할 수 있습니다
gavard.e

0

이클립스 자동 완성을 허용하는 약간 다른 대답은 다음과 같습니다.

<?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">
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.