Pokud program v reakci na nějakou událost přidá do souboru záznamy, obvykle identifikující událost a její zdroj, pak se takový soubor nazývá soubor protokolu. Možné zdroje událostí:

  • Výsledek určitých akcí uživatele.
  • Přerušení přicházející do programu ze zařízení.
  • Události generované samotnými programy (například získané jako výsledek výpočtů).
  • Události generované chybami softwaru (tzv. „výjimky“).
  • Události z operačního systému nebo jiného programu, stejně jako události z jakéhokoli jiného zdroje.

Jedním slovem mluvíme o změně stavů v běžícím a běžícím programu. Nejjednodušší varianta log soubor - normální textový soubor s řádkovými záznamy. Všechny informace v souborech protokolu jsou zaznamenány ve specifickém formátu, což umožňuje později pochopit příčiny událostí.

Kde se používají soubory protokolu?

Seznam aplikací souborů protokolu je obrovský. Soubory tohoto typu se používají všude tam, kde je potřeba dohledat historii konkrétního programového procesu, vést záznam o stavu zařízení a strojů, sledovat akce uživatelů vč. a z bezpečnostních důvodů. A v mnoha dalších případech. Chcete-li vyhledávat a analyzovat data v souborech protokolu, zpravidla nezávisle software, který umožňuje rychle a vizuálně studovat zaznamenaná data o díle softwarový systém. Mnoho souborů protokolu je velmi velkých, takže musíte buď pravidelně přepisovat jejich zastaralý obsah, nebo vytvářet celé kolekce souborů protokolu s názvy, které obsahují například datum. V mnoha případech jsou databáze upřednostňovány před soubory protokolu.

Užitečné příklady

Uveďme několik příkladů použití souborů protokolu. Pokud je v laděném programu mnoho neočekávaných výjimek, je docela možné je zapsat do souboru protokolu pro následnou analýzu chyb. Jako další příklad můžete poukázat na protokolování dat o připojených uživatelích ve víceuživatelských systémech klient-server. To vám umožní sledovat neoprávněné operace, které provádějí.

Protokolování pomáhá vývojáři v procesu tvorby a následné údržby aplikace, při hledání chyb v kódu a při řešení nepochopitelných situací, kdy se naše aplikace chová v době práce podivně a my potřebujeme najít příčinu toho chování.

Každý vývojář čelí podobným situacím, když některá komponenta aplikace funguje podivným způsobem, dává špatný výsledek nebo přestane fungovat úplně. Použití logů nám pomůže v situacích, jako je tato. Výrazně se zkrátí čas na hledání problémových oblastí v našem kódu a ten či onen problém budeme schopni vyřešit rychleji.

Obecně se v tuto chvíli bez zápisu logů neobejde ani jedna více či méně závažná aplikace.

Log (log) je speciální protokol, který uchovává informace o stavu aplikace (programu).

Takový protokol lze chápat jako záznamy do prostého textového souboru a záznamy do databáze a záznamy do vzdálené webové služby a dokonce i e-maily na konkrétní adresu o určitých stavech naší aplikace.

Jaké záznamy v tomto protokolu provést, tedy jaké konkrétní informace zapsat, určuje sám vývojář. Může se jednat o informaci, že vše funguje normálně, tedy jen každodenní sledování naší aplikace, nebo že došlo k nějaké chybě, na kterou je potřeba reagovat a co nejdříve ji odstranit a podobně.

Celkem existuje šest úrovní protokolování, z nichž každá je určena pro zprávy toho či onoho typu, té či oné důležitosti:

Trace – nejpodrobnější informace o tom, co se děje se sekcí cílového kódu, krok za krokem. Například: Pokus o otevření připojení k databázi, úspěšný/neúspěšný. Jak dlouho tato operace trvala? Jak dlouho byl výběr z databáze, úspěšný\neúspěšný. Kolik záznamů se načte. Jaká byla zátěž systému, kolik paměti bylo využito. Kolik záznamů prošlo požadovaným filtrováním. Kolik záznamů se objevilo ve výsledném výběru, kam tyto záznamy šly dále. Kontrola požadovaných hodnot v každém záznamu.

Debug je informace pro ladění. Protokolování velkých operací, méně podrobné než v Trace. Zde nepopisujeme tak podrobně celý proces operace, ale přesto zaznamenáme hlavní operace. Například: Byl proveden požadavek na databázi. Z databáze je vybráno N záznamů. Záznamy byly úspěšně zpracovány a odeslány klientovi.

Info - jedná se o obecnější informační zprávy o aktuálním chodu aplikace, co se děje se systémem v procesu jejího používání. Například: Studenti byli nahráni do souboru aplikace Excel. Na stránce se zaregistroval nový student. Student přidal novou zprávu. Student byl přesunut do jiné skupiny.

Varovat – zprávy o podivném nebo podezřelém chování aplikace. Toto ještě není závažná chyba, ale měli byste tomuto chování systému věnovat pozornost. Například: Byl přidán student ve věku 2 let. Student získal negativní hodnocení. Učitel absolvoval kurz s 0 studenty. Ve skupině je více studentů, než je možné.

Error – chybové zprávy v aplikaci. Takové zprávy jsou již velkým problémem, který je třeba dále řešit správné fungování systémy. Například: Chyba při ukládání nového studenta do databáze. Nelze načíst studenty v této skupině. Chyba přihlášení Osobní oblast student.

Fatální - zprávy o velmi závažných chybách v systému. Nejčastěji je to způsobeno stavem celé aplikace nebo jejího prostředí na serveru. Na takové zprávy by se mělo reagovat co nejrychleji. Například: Aplikace se neustále znovu načítá kvůli nedostatku paměti nebo místa na pevném disku. Aplikace byla z neznámého důvodu ukončena. Do databáze není přístup. Žádný přístup k síti. Některý port je blokován.

To znamená, že před odesláním zprávy do protokolu ji musíme přiřadit určité skupině.

Například jsme napsali novou funkcionalitu a chceme ji otestovat, jak správně a rychle funguje. K tomu použijeme typ zprávy Trace, to znamená, že všechny naše zprávy v protokolu budou označeny jako Trace.

Podobným způsobem můžeme popsat, jak naše aplikace funguje jako celek, zprávy budou označeny Info.

Pokud vyvoláme výjimku v nebezpečných částech kódu, tak nyní do logu přidáme i záznam označený Error.

Vývojář sám rozhodne, které skupině přiřadí tu či onu zprávu. K tomuto problému je třeba přistupovat s maximální vážností. Chyby by samozřejmě neměly být označeny jako Info, chyby by se neměly ignorovat a jednoduše se nezaprotokolovat. Snadná údržba celého systému, rychlá reakce na chyby a čas strávený odstraňováním problémů bude záviset na správně nakonfigurovaném logovacím systému.

Někdy jsou vývojáři příliš líní psát protokoly, nechce se jim nad tím trávit čas. V budoucnu se ukazuje, že čas strávený hledáním a opravou chyb je mnohonásobně více než čas, který by zabralo vytvoření systému logů.

Samozřejmě hodně záleží na složitosti projektu. Pokud vytváříte jednoduchou třístránkovou vizitku nebo konzolovou aplikaci pro vaše vlastní potřeby na vašem místní počítač, pak může psaní složitého logovacího systému trvat déle než vytvoření samotného projektu. V tomto případě lze do protokolů zapisovat pouze chybová hlášení nebo proč web spadl. Pokud ale pracujete na složitém projektu v týmu s dalšími vývojáři, pak je správné protokolování nutností.

Aby bylo možné zahájit protokolování, připojíme platformu NLog k našemu projektu. Je to možné .

  • $ (basedir)- kořenový adresář naší aplikace
  • $ (shortdate) - Aktuální datum ve formátu rrrr-MM-dd
  • $ (longdate)- aktuální datum ve formátu rrrr-MM-dd HH:mm:ss.ffff
  • $ (callsite)- protokolovat umístění hovoru (název třídy, název metody)
  • $(velká písmena:$(úroveň)- úroveň protokolování
  • $ (zpráva)- přímo zpráva, která bude zapsána do logu
  • $ (nový řádek)- znak nového řádku

Veřejná třída StudentsRepository ( soukromý statický logger logger = LogManager.GetCurrentClassLogger(); //... )

Nejčastěji by měl být v rámci celé třídy deklarován jeden statický logger. Zde jsme prostřednictvím správce třídy správce protokolů oznámili nový logger, se kterým budeme pracovat.

Začněme protokolovat z úrovně Trace. V metodě, kdy vybíráme studenta podle jeho ID, popišme co nejpodrobněji, jak se to děje:

Public Student GetStudentById(int id) ( //zde je simulována situace reálného výběru studenta z databáze... logger.Trace("Požadované id studenta: " + id); logger.Trace("Pokouším se připojit ke zdroji dat"); logger .Trace("Připojení ke zdroji dat bylo úspěšné. Uplynulý čas (ms): " + new TimeSpan(0, 0, 0, 0, 20).Millisekundy); var student = _studentsList.FirstOrDefault (x => x.Id = = id); logger.Trace("Vzorkování bylo úspěšné. Student s id==" + student.Id); vrátit student; )

Všimněte si, že na objektu loggeru voláme metodu Trace(). Má odpovídající význam - protokolování zpráv typu Trace. Pokud přejdeme k definici třídy Logger, zjistíme, že pro všechny úrovně logu existují i ​​další metody, které dále využijeme.

Nyní přidáme několik zpráv na úrovni ladění. Jak si pamatujeme, jedná se také o informace o ladění, ale méně podrobné. Tento přístup používáme v jiné metodě, pro jasnost:

veřejný seznam GetStudents() ( //toto simuluje situaci skutečného výběru studentů z databáze... logger.Debug("Připojeno k databázi"); logger.Debug("Načteno všechny studenty"); return _studentsList; )

Jdeme dále. Na úrovni Info popisujeme běžné operace v naší aplikaci, to znamená, že stoupáme o úroveň výše. Řekněme, že pracujeme na aplikaci ASP.NET MVC a máme akci v řadiči, která volá metodu GetStudentById() popsanou dříve:

Public ActionResult GetStudent(int id) ( logger.Info("Učitelem požadovaný student s id == " + id); Repozitář StudentsRepository = nový StudentsRepository(); Student student = repozitář.GetStudentById(id); return View(student); )

Nyní do protokolů přidáme zprávy na úrovni Varování. Jak si pamatujeme, na této úrovni protokolování popisujeme všechny potenciálně nebezpečné situace, podivné a nelogické chování komponent. Přihlášku zaznamenáme, pokud je studentovi méně než 15 let:

//... Student student = repository.GetStudentById(id); logger.Trace("Vzorkování bylo úspěšné. Vybraný student s id==" + student.Id); pokud (student.Věk< 15) logger.Warn("Выбран студент моложе 15 лет"); //...

Var student = _studentsList.FirstOrDefault(x => x.Id == id); if (student == null) logger.Error("Chyba. Nebyl nalezen žádný student s id == " + id); logger.Trace("Vzorkování bylo úspěšné. Vybraný student s id==" + student.Id); pokud (student.Věk< 15) logger.Warn("Выбран студент моложе 15 лет");

Nyní určíme, co bychom měli zaznamenat na fatální úrovni. V našem nejjednodušším příkladu jednoduše nasimulujeme podobnou situaci:

//... logger.Fatal("Byl dosažen maximální limit využití aplikace paměť s náhodným přístupem 90%"); //...

Zkontrolovali jsme všech šest úrovní protokolování a popsali proces naší aplikace co nejpodrobněji. Nyní můžeme okamžitě analyzovat provoz webu pouhým prozkoumáním logů a nedívat se do zdrojového kódu.

Takto funguje protokolování. V našem nejjednodušším příkladu, kde simulujeme práci se studenty, je vše extrémně jasné a transparentní i bez logů. Ale ve složitých projektech je logování nedílnou součástí vývoje.

To jsou samozřejmě daleko od plných možností přizpůsobení platformy NLog. V konfigurační soubor můžete nakonfigurovat protokolování na jiná místa, například do databáze, do konzole, do RAM, posílat jako e-mailovou zprávu, posílat zprávy přes síť a tak dále. Můžete také nastavit filtrování zpráv, což je složitější šablona zpráv. Pokud nejste spokojeni se standardní funkčností loggeru, můžete si napsat vlastní rozšíření a připojit jej.

To je vše, pojďme si to trochu shrnout. V aplikaci jsme studovali téma přihlašování. Podívali jsme se na to, jak správně protokolovat určité části kódu, a také jsme se seznámili s jednou z nejpopulárnějších platforem protokolování - to je platforma NLog, také jsme zvážili její možnosti a jak můžete nakonfigurovat generování protokolů na této platformě.

Kromě standardních statistik stránek, které zahrnují počet unikátní návštěvníci, otevřít stránky a mnoho dalších užitečné informace, webmaster potřebuje o takovém webu vědět mnoho dalších věcí, a to mu prozradí logy. Začínající webmasteři přitom dost často ani nevědí, co log je a co dává.

Jaké informace jsou potřeba?

Jak bylo uvedeno výše, kromě standardních parametrů musí vlastník webu znát spoustu dalších údajů:

  • Které stránky jsou nejnavštěvovanější.
  • Jaké vyhledávací dotazy s největší pravděpodobností přivedou uživatele na váš web.
  • Jaké prohlížeče nebo operační systémy jsou mezi návštěvníky nejžádanější.
  • Jaké rozlišení obrazovky návštěvníci nejčastěji používají.
  • A mnohem víc.

Jak to zjistit?

V drtivé většině případů je na stránkách instalováno placené nebo bezplatné počítadlo, přičemž zdroj, který jej poskytuje, provádí důkladnou analýzu stránek a vede statistiky návštěv, které lze kdykoli nahlédnout. Obzvláště použití takových čítačů je žádané, pokud člověk hostuje vlastní web na bezplatném hostingu. Vzhledem k tomu, co je protokol, je důležité naučit se s takovými počítadly pracovat, protože ve skutečnosti obsahují většinu potřebných dat.

Naprostá většina poskytovatelů hostingu, kteří poskytují placený hosting, zpočátku dává svým zákazníkům možnost používat analytické nástroje, které jsou již nainstalovány na vytvořeném webu. Například servery Apache používají specializovanou utilitu nazvanou Webalizer, která se používá jako další modul serveru.

Ti, kteří využívají placený hosting, mohou také zpracovávat všechna data týkající se jejich stránek zcela samostatně, protože webmaster, který ví, co je to site log a jak jej používat plný přístup ke všem informacím, které potřebujete.

co je to?

Každý web si udržuje svůj vlastní protokol, do kterého se webmaster může podívat, kdykoli se mu to hodí. Co je to log? Jedná se o samostatný textový soubor, který obsahuje informace týkající se všech požadavků na stránky a také různých chyb souvisejících s těmito požadavky.

Jak se zapisují data do protokolu?

Zpočátku uživatel zadá ve svém vlastním prohlížeči adresu konkrétní stránky a přejde na ni. Poté prohlížeč uživatele začne odesílat na server, na kterém se tato stránka nachází, požadavek na vydání webové stránky, která uživatele zajímá. Spolu s tím jsou serveru poskytovány následující informace:

  • IP adresu návštěvníka.
  • Přesný čas, kdy byla žádost podána.
  • Prohlížeč, který uživatel používá.
  • Operační systém, který uživatel používá.
  • Stránka zájmu.
  • Adresa stránky, ze které byl proveden přechod na cíl.

Poté server vydá požadavek, který návštěvníka zajímá, a všechny informace o transakci se zaznamenají do protokolu událostí, čímž se vytvoří tzv. log soubor.

Kompetentní analýza protokolů stránek umožňuje správci webu přesně určit, jak je jeho zdroj využíván a jakým směrem je relevantnější jej rozvíjet.

Jaké informace poskytují protokoly?

Když se podíváte do protokolů stránek, můžete najít obrovské množství užitečné informace, které zlepší další propagaci zdroje a zefektivní jej:

  • Účast. Takový ukazatel je samozřejmě také určen standardním počítadlem, které může být na každé stránce, ale v protokolu jsou tyto údaje uvedeny podrobněji, včetně návštěvnosti za den, hodinu nebo měsíc. Pomocí protokolů můžete také určit hodiny nárůstu nebo klidu v provozu, což je nesmírně důležité vědět při údržbě webu.
  • Provoz. V tomto případě jde o návštěvnost každé jednotlivé stránky i celkovou návštěvnost webu určitá dobačas.
  • Konverze. Tento parametr vám umožňuje určit, jak návštěvníci procházejí vaším zdrojem, to znamená, že si prohlíželi jednu stránku a zavřeli nebo přesto začali „cestovat“ po vašem webu a prohlíželi si jednu stránku za druhou. Konverzní poměr vám umožňuje nepřímo určit kvalitu vašeho webu.
  • opuštěné stránky. Vzhledem k tomu, co jsou protokoly serveru, můžete často určit, že obsahují opuštěné stránky, tedy ty, které jsou navštěvovány extrémně zřídka. V takové situaci musí webmaster provést důkladnou analýzu situace, protože se může stát, že stránky přestaly lidi zajímat nebo bylo obtížné je najít mezi mnoha dalšími na vašem webu.
  • Oblíbené stránky. Webové stránky, které jsou nejnavštěvovanější. Můžete je použít jako šablonu v procesu vytváření dalších stránek a v případě potřeby můžete uživatele z těchto stránek také nasměrovat na některé další, které jsou opuštěné nebo méně oblíbené.
  • Vyhledávací dotazy. Protokoly stránek mimo jiné také obsahují účinnost těchto meta tagů, klíčová slova a názvy webových stránek, které jste používali a pro které bylo možné váš web najít vyhledávače. Protokoly obsahují údaje o tom, který konkrétní vyhledávač našel vaše stránky pro konkrétní požadavek.

Návod

Ve vlastnostech nabídky "Tento počítač" vyberte položku odpovědnou za správu. Na operačních systémech Seven and Windows Vista Tato položka je uvedena na levé straně lišty nabídky Tento počítač. Také můžete běhat toto menu z "Administrace" v ovládacím panelu. Měli byste vidět na obrazovce speciální konzoleřízení.

Při práci se soubory protokolu nezapomeňte věnovat pozornost omezením účet, protože všechny akce by měl provádět pouze správce. Hosté a další omezené účty nebudou moci tuto akci použít.

Najděte Prohlížeč událostí a Prohlížeč nástrojů v nabídce Správa počítače. Pečlivě zkontrolujte každou z jejich částí a poté se rozhodněte, které chcete odstranit.

V prohlížeči událostí vymažte protokoly operačního systému Systémy Windows jeho výběrem levým tlačítkem myši. Rozbalte položku „Akce“ a poté ji spusťte kontextová nabídka zvýrazněním klikněte pravým tlačítkem myši myši.

V okně zobrazeném na vaší obrazovce vyberte položku s názvem „Vymazat všechny události“ a pokud to opravdu chcete, potvrďte operaci v zobrazeném dialogovém okně. Počkejte, dokud nebude obsah souborů protokolu odstraněn z vašeho počítače.

Použití speciální programy optimalizace počítače pro srozumitelnější a rychlejší čištění souborů protokolu, obvykle je lze také nakonfigurovat tak, aby automaticky čistily jejich obsah. Vymazání protokolů je obvykle sekundárním úkolem takových programů, ale mohou být užitečné pro zrychlení počítače, odstranění nepoužívaných služeb a ukončení nepotřebných procesů. Provádějí také defragmentaci disku, opravu chyb, čištění paměti RAM a tak dále.

Užitečná rada

Nečistěte protokoly sami, pokud nemáte dovednosti sebevědomého uživatele PC.

Úkol vymazat transakční protokol 1C na základě Microsoft SQL Server představuje určité potíže kvůli automatickému růstu velikosti vlastních souborů, a to i přes existující schopnost automaticky zmenšit vybraný soubor.

Návod

Ujistěte se, že rozumíte schématu vybrané operace čištění, nebo spíše zkrácení transakčního protokolu: postup lze provést pouze zkrácením volného místa na konci souboru a přímo souvisí se zvolenou metodou vytváření záloha. Pokud vyberete možnost Úplné, musíte dokončit všechny trvalé transakce a vytvořit zálohu v režimu Odebrat neaktivní položky z protokolu transakcí. Výběr možnosti Jednoduché zkrátí celý soubor, ale nemusí nutně obnovit transakce.

Zkrácení souboru protokolu transakcí lze provést pomocí nástroje Query Analyzer pomocí příkazu DBCC Shrinkfile (název_souboru_protokolu, velikost_požadovaného_souboru) a operaci vyčištění lze provést pouze po vytvoření úplné rezervní základna stejným týmem. K zadání voleb kopírování použijte následující syntaxi: Zálohování Protokol vybraného_základního_jména pouze se zkrácením.

Pokud nepotřebujete obnovit data pomocí nástroje Zálohování databáze, vytvořte úplnou zálohu souboru protokolu transakcí, který se má vymazat, a zrušte zaškrtnutí políčka Odebrat neaktivní položky z protokolu transakcí. Přejděte na kartu Možnosti a změňte hodnotu parametru Model obnovy na Jednoduchý. Zkraťte vybraný soubor pomocí výše uvedeného příkazu nebo použijte syntaxi DBCC ShrinkDatabase (název vybrané_databáze, požadovaný_zbytkový_soubor_velikost_v_%).

Zaškrtněte políčko Odebrat neaktivní položky z transakčního protokolu a zálohovat zdrojovou sadu z Enterprise Manager. Obnovte model obnovy na plný a zopakujte obnovení protokolu z Enterprise Manager přes existující kopii. Znovu zrušte zaškrtnutí políčka Odebrat neaktivní položky z transakčního protokolu a znovu proveďte záloha vybraný protokol transakcí.

Související videa

Prameny:

  • Některé funkce provozu Microsoft SQL Server 2000

Jakýkoli software provádí určité funkce. Bez ohledu na to, jak to dělá, je ve výchozím nastavení vytvořen soubor protokolu ve složce utility. Tento soubor je textový dokument, který zobrazuje všechny akce programu.

Budete potřebovat

  • Software:
  • - libovolný textový editor;
  • - 7Zip archivátor.

Návod

V některých případech musíte vědět, jak jste se zachovali běžící proces před zablokováním nebo z jakých důvodů byl program uzavřen. Pokud se podíváte na systémy Linux, lze tuto akci provést bez zobrazení souboru protokolu (za předpokladu, že je spuštěn prostřednictvím terminálu nebo konzoly). Na operačních systémech Rodiny Windows jsou vytvořeny protokoly nebo je přidán záznam do systémového protokolu.

Z rozhovoru mezi dvěma webmastery:

- Včera jsem byl na vašich stránkách...

"Tak to jsi byl ty!"

Kromě obecných statistik stránek (počet unikátních návštěvníků, počet webových stránek, které otevřeli atd.), velká důležitost pro webmastery má další informace, například: které stránky webu jsou navštěvovány nejčastěji, které hledané výrazy přivést návštěvníky na stránky, které prohlížeče a operační systémy používané návštěvníky, jaké rozlišení obrazovky na návštěvníka atd. atd.

Na každém webu je zpravidla nainstalován externí bezplatný (zřídka placený) čítač. Zdroj, který poskytl počítadlo, uchovává rozšířené statistiky o návštěvách zdrojů (včetně všech výše uvedených informací), které lze kdykoli zobrazit. Zejména s takovými počítadly je vhodné pracovat s těmi, kteří umístí své stránky na bezplatný hosting.

Většina poskytovatelů hostingu (hostitelů) placeného hostingu poskytuje svým zákazníkům možnost využít již nainstalované analytické nástroje. Například pro servery Apachečasto používaný program Webalizer, který se instaluje jako doplněk webového serveru.

Ti, kteří jsou hostováni na placeném hostingu, mohou také zpracovávat všechny informace o návštěvě webu sami: koneckonců webmaster má plný přístup k souborům protokolu jeho webu.

Co je soubor protokolu webových stránek

Soubor protokolu webu ( log soubor, log-file, log file, log) je textový soubor, ve kterém jsou zaznamenány všechny požadavky na stránky a také všechny chyby spojené s těmito požadavky.

Jak se události zaznamenávají do souboru protokolu webu

Jedním z hlavních cílů vytváření webu by proto nemělo být pouze zvýšení počtu návštěv, ale zvýšení relevantní návštěvy - tedy neklamat návštěvníky falešnými jmény, sliby, klíčovými slovy atd. - návštěvník musí najít to, co hledá, má na to právo! ..

Poznámky

1. Odhady výzkumné společnosti netcraft, v červnu 2009 bylo na internetu 238 027 855 stránek. Zároveň podíl webových serverů Apachečinil asi 47 %, Microsoft IIS – 24,80%, qq.com – 12,79%, Google – 4,98%, nginx – 3,69%, slunce – 0,30%.

2. Soubory protokolu serveru Apache