Apache : 특정 모듈에 대해서만“LogLevel 디버그”를 구성 하시겠습니까?


13

웹 서버의 일부 인증 및 권한 부여 문제, 특히 mod_authnz_ldap 및 기타 mod_auth * 모듈을 디버깅하고 싶습니다.

그래서 LogLevel debug전 세계 또는 단일 VirtualHost에 대해 Apache 구성을 설정 했습니다. 이것은 mod_authnz_ldap의 유용한 정보를 제공하지만 SSL 모듈에서 많은 소음을 뿜어냅니다. 예는 아래를 참조하십시오.

mod_authnz_ldap의 로그 수준을 계속 유지하면서 ssl_engine *의 LogLevel을 줄이는 방법이 있습니까?

예,와 같은 것을 사용하여 행을 제외시킬 수 grep -v ssl_engine logfile있지만 다른 추가 syslog 구문 분석 도구 에서이 추가 데이터를 제외하고 싶습니다. 대상에서 제외하는 대신 소스에서 로깅을 줄이려고합니다.

[Tue Jul 06 16:55:31 2010] [debug] ssl_engine_io.c(1830): | 0100: 12 23 e7 0f 45 1f 1f d3-ed 12 f8 12 1f a9 90 85  .+..(........... |
[Tue Jul 06 16:55:31 2010] [debug] mod_authnz_ldap.c(474): [client 10.10.10.123] [96991] auth_ldap authenticate: accepting joe
[Tue Jul 06 16:55:31 2010] [debug] mod_authnz_ldap.c(730): [client 10.10.10.123] [96991] auth_ldap authorise: require group: authorisation successful (attribute memberUid) [Comparison true (cached)][Compare True]
[Tue Jul 06 17:02:17 2010] [debug] ssl_engine_io.c(1830): | 0023: 23 ff 29 5a 4b bd 4c e6-bc 36 22 9c c3 22 c2 4b  ..)ZK.L..6u....K |
[Tue Jul 06 17:02:17 2010] [debug] ssl_engine_io.c(1830): | 0023: 23 ff 29 5a 4b bd 4c e6-bc 22 75 9c c3 b6 22 4b  ..)blahblah|

답변:


16

저의 질문 인 Jeopardy Style에 답하고 있습니다.

아파치 2.3

이것은 Apache 2.3에서 가능합니다.

아파치> HTTP 서버> 문서> 버전 2.4> 모듈 별 로깅 :

모듈 별 로깅

LogLevel 지시문을 사용하면 모듈별로 로그 심각도 수준을 지정할 수 있습니다. 이러한 방식으로 특정 모듈 하나만으로 문제를 해결하는 경우 관심이없는 다른 모듈의 세부 정보를 얻지 않고도 로깅 볼륨을 높일 수 있습니다. 이는 mod_proxy 또는 mod_rewrite와 같은 모듈에 특히 유용합니다. 수행하려는 작업에 대한 세부 정보를 알고 싶은 곳.

LogLevel 지시문에 모듈 이름을 지정하여이를 수행하십시오.

LogLevel info rewrite:trace5

기본 LogLevel을 info로 설정하지만 mod_rewrite의 경우 trace5로 설정합니다.

이는 이전 버전의 서버에 있던 RewriteLog와 같은 모듈 별 로깅 지시문을 대체합니다.

Apache HTTP Server 2.4의 새로운 기능 개요 :

모듈 및 디렉토리 별 LogLevel 구성 이제 LogLevel을 모듈 및 디렉토리별로 구성 할 수 있습니다. 새 레벨 trace1에서 trace8이 디버그 로그 레벨 위에 추가되었습니다.

Apache-dev에 대한 토론도 참조하십시오. 메일 링리스트 .

아파치 2.2 이하 :

아니요, 현재 Apache 2.2에서는 불가능합니다. HTTP Server> 설명서> 버전 2.2> 모듈 "LogLevel 지시문" 의 매뉴얼 에는이 옵션이 표시되지 않습니다. 현재 유일한 옵션은 문제를 일으키는 행을 "grep -v"하는 것입니다.

Apache 2.4 (작성 당시 제안) :

이것은 Apache 2.4에 포함됩니다. 트렁크 (2.3) 의 Apache 문서는 현재 다음과 같이 말합니다.

호환성 : 모듈 별 및 디렉토리 별 구성은 Apache HTTP Server 2.3.6 이상에서 사용 가능합니다.

과:

모듈 이름없이 레벨을 지정하면 모든 모듈의 레벨이 해당 레벨로 재설정됩니다. 모듈 이름으로 레벨을 지정하면 해당 모듈의 레벨 만 설정됩니다. 모듈 소스 파일 이름, 모듈 식별자 또는 후행 _module이 모듈 사양으로 생략 된 모듈 식별자를 사용할 수 있습니다. 이는 다음 세 가지 사양이 동일 함을 의미합니다.

LogLevel info ssl:warn
LogLevel info mod_ssl.c:warn
LogLevel info ssl_module:warn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.