php - Bagaimana untuk menukar format biasa log nginx ke dalam format log apache
大家讲道理
大家讲道理 2017-05-16 13:13:53
0
1
425

format log nginx

log_format  access  '$remote_addr - [$time_local] "$request" '
             '$status $body_bytes_sent $request_time "$http_referer" '
             '"$http_user_agent" - $http_x_forwarded_for';

Berikut ialah format pengekstrakan biasa log nginx

log_pattern = r'^(?P<remote_addr>.*?) - \[(?P<time_local>.*?)\] "(?P<request>.*?)"' \
              r' (?P<status>.*?) (?P<body_bytes_sent>.*?) (?P<request_time>.*?)' \
              r' "(?P<http_referer>.*?)" "(?P<http_user_agent>.*?)" - (?P<http_x_forwarded_for>.*)$'

request_uri_pattern = r'^(?P<request_method>(GET|POST|HEAD|DELETE)?) (?P<request_uri>.*?) (?P<server_protocol>HTTP.*)$'

Format log Apache saya adalah seperti berikut:

123.125.71.55 - - [14/Apr/2017:00:00:15 +0800] "GET /article/511615 HTTP/1.1" 200 11238
111.206.221.100 - - [14/Apr/2017:00:00:16 +0800] "POST /baidutj/tj HTTP/1.1" 302 -

Bagaimana untuk mengubah suai ungkapan biasa di atas menjadi ungkapan biasa yang boleh saya gunakan,

Saya mencubanya untuk masa yang lama tetapi terus mendapat ralat,

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

membalas semua(1)
伊谢尔伦
log_pattern = (r'^(?P<remote_addr>\S+) - - \[(?P<time_local>[^]]+)\] "(?P<request>.*?)"'
              ' (?P<status>\d+) (?P<body_bytes_sent>\d+)')
request_uri_pattern = r'"(?P<request_method>(?:GET|POST|HEAD|DELETE)?) (?P<request_uri>\S*) (?P<server_protocol>HTTP\S*?")'
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan