Das Standard-NGINX-Format lautet wie folgt:
log_format combined '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
Welches ist ein bisschen schwer zu analysieren. Ich befürchte, dass die Leute "
entweder Anfragen, Verweise oder Benutzeragenten einbringen.
Ich habe darüber nachgedacht, stattdessen Trennzeichen zu verwenden und mein eigenes Format zu verwenden, das |P-,|
als Trennzeichen verwendet wird:
log_format parsable '$status |P-,| $time_iso8601 |P-,| $http_host
|P-,| $bytes_sent |P-,| $http_user_agent |P-,| $http_referer
|P-,| $request_time |P-,| $request';
Nichts hindert Benutzer jedoch daran, |P-,|
in ihre Anforderungen, Verweise oder Benutzeragenten einzugreifen.
Ich habe diesen Artikel über ASCII-getrennten Text gelesen: https://ronaldduncan.wordpress.com/2009/10/31/text-file-formats-ascii-delimited-text-not-csv-or-tab-delimited-text/
Ich denke, das könnte verwendet werden, um diese Probleme zu lösen, aber Benutzer könnten auch ASCII-Trennzeichen in ihre Daten einfügen.
Gibt es eine bewährte Methode zur Lösung dieses Problems?
"
ungültigen JSON generiert, aber möglicherweise beziehen sich die Änderungen, auf die @alexeyton verweist, auf die Behebung dieses Problems