Common Log Format

Common Log Format (CLF) je standardní textový formát[1], který používají webové (a některé další, např. FTP) servery pro uchovávání logů (přístupových záznamů).[2] Tento formát používá (či umožňuje používat jako jednu z variant) mnoho serverů a podporuje ho většina analytických nástrojů.

Formát

Log ve formátu CLF je textový soubor, ve kterém každý řádek popisuje jeden obsloužený HTTP požadavek. Na řádku je uvedeno několik údajů, pomlčka „-“ označuje chybějící údaj. Formát řádku je:

klient ident uživatel [datum] "požadavek" status délka

Přičemž:

  • klient je IP adresa (nebo doménové jméno) klienta (vzdáleného počítače), který požadavek zaslal
  • ident je identita klienta zjištěná pomocí protokolu ident (dnes se zpravidla nepoužívá a zůstává zde „-“)
  • uživatel je uživatelské jméno autentizovaného uživatele, který požadavek poslal
  • datum je datum a čas, kdy server dokončil zpracování požadavku
  • požadavek je HTTP požadavek obsahující metodu (nejčastěji GET či POST) a příslušný zdroj (jméno souboru)
  • status je kód výsledného HTTP statusu
  • délka je délka odpovědi serveru v bajtech

Příklad:

10.152.11.92 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326
  • 10.152.11.92 – IP adresa klienta
  • - – bez identifikátoru
  • frank – uživatelské jméno autentizovaného uživatele
  • 10/Oct/2000:13:55:36 -0700 – přesný datum a čas (včetně časového pásma)
  • GET /apache_pb.gif HTTP/1.0 – HTTP požadavek; metodou GET protokolu HTTP verze 1.0 byl požadován dokument /apache_pb.gif
  • 200 – požadavek byl úspěšně splněn (status 200 OK)
  • 2326 – požadovaný soubor měl délku 2326 bajtů

Rozšíření

Některé novější servery v zásadě převzaly formát CLF, ale přidaly k němu další položky.

Combined Log Format

Tento formát k řádce původního formátu přidává dvě nová pole, obsahující adresu odkazující stránky a identifikaci internetového prohlížeče (resp. obecně programu, který serveru poslal požadavek). Tedy například:

10.152.11.92 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"

Extended Log Format

Extended Log Format je na rozdíl od CLF flexibilní; základní princip formátu zůstal stejný, ale sada zaznamenávaných informací se může lišit, přičemž se definice těchto informací zaznamenává přímo do souboru. Soubor totiž může kromě řádků reprezentujících obsloužené požadavky obsahovat i řídicí řádky uvozené znakem „#“. Velmi jednoduchým příkladem může být soubor

#Version: 1.0
#Date: 12-Jan-1996 00:00:00
#Fields: time cs-method cs-uri
00:34:23 GET /foo/bar.html
12:21:16 GET /foo/bar.html
12:45:52 GET /foo/bar.html
12:57:34 GET /foo/bar.html

Zde je vidět hlavička s verzí použitého formátu a definicí velmi stručného protokolu a poté čtyři zaznamenané požadavky.

Reference

V tomto článku byl použit překlad textu z článku Common Log Format na anglické Wikipedii.

  1. Logging in W3C httpd [online]. World Wide Web Consortium, 1995-10-12 [cit. 2015-04-16]. Dostupné online. (anglicky) 
  2. Log File Formats: NCSA Common [online]. IBM, 2004-05-19 [cit. 2013-05-07]. Dostupné online. (anglicky) 

Externí odkazy