nginx 로그 중 $requestbody 16 진수 문자 (\ x22 \ x9B \ x5C \ \ x09 \ x08...) 완벽 한 해결 방안
request_body
PUT
, POST
요청 이 있 을 때 로그 에 \x22
\x9B
\x5C
\x09
\x08
문자 가 들 어 있어 읽 기와 처리 에 불리 합 니 다.구체 적 인 지원
request_body
의 http method 는 http 1.1 정의 9 Method Definitions 와 Payloads of HTTP Request Methods 를 참조 합 니 다.nginx.conf
기본 access로그 설정 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'
'$http_host $upstream_status $upstream_addr $request_time $upstream_response_time';
... 로 바꾸다
log_format json_log escape=json '{"realip":"$remote_addr","@timestamp":"$time_iso8601","host":"$http_host","request":"$request","req_body":"$request_body","status":"$status","size":$body_bytes_sent,"ua":"$http_user_agent","cookie":"$http_cookie","req_time":"$request_time","uri":"$uri","referer":"$http_referer","xff":"$http_x_forwarded_for","ups_status":"$upstream_status","ups_addr":"$upstream_addr","ups_time":"$upstream_response_time"}';
참고 nginx 에서 JSON 로 그 를 생 성 하 는 방법 은 무엇 입 니까?
공식 문서 ngxhttp_log_module.html#log_format 주의,
escape
는 1.11.8 이후 추 가 된 인자 입 니 다.오래된 버 전이 라면 Liux 는
shell
명령 으로 교체 하 는 것 을 고려 할 수 있 습 니 다. logstash
사용 ruby
처 리 를 고려 할 수 있 습 니 다. optionally support handling of \ x escape codes 를 참고 하 십시오.블 로그 anjia. ml / 2017 / 06 / 21 /... 약서 www. jianshu. com / p / 8409 f28f 3... 김 juejin. im / post / 5949 e0...
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.