私はしばらくawstatsのドキュメントを読んでいますが、Logformatで失敗しているようです。
私はawstatsで以下を使用しています、
LogFormat = "%Host - - %Host_r %time1 %methodurl %code %bytesd %refererquot %uaquot %otherquot"
(nginxから)
log_format main
'$remote_addr - $remote_user [$time_local] $request '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
私はあなたが行方不明だと思います"
ログ行のいくつかのオブジェクトの周りから、それらを必要としない他のオブジェクトの周りにあります。
試してみてください
log_format main
'$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
それは本当だ。 $ statusから ""を削除し、それらを$ requestに配置すると、問題が解決するはずです。
また、私のようにすでに大量の「破損した」ログがある場合は、次のコマンドを実行できます。
sed -i "s/00\]\ /00\]\ \"/g" access.log
そして
sed -i "s/\(HTTP\/[0-9].[0-9]\)\ \"\([0-9][0-9][0-9]\)\"/\1\"\ \2/g" access.log
これにより、古いログがawstatsで使用できるようになります。