IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Logy

Aktivity
Avatar
Honza Bittner
Tvůrce
Avatar
Honza Bittner:7.7.2014 10:24

Ahoj, teď jsem tak přemýšlel nad tím, jak je nejvýhodnější mít udělané logy?

Je lepší přidávat záznamy do databáze?
Je lepší je dávat do texťáku?

Jaké jsou plusy a mínusy obou variant? :)

Odpovědět
7.7.2014 10:24
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Odpovídá na Honza Bittner
Michal Žůrek - misaz:7.7.2014 11:46

já bych to řešil přes databázi. Texťák ti nabobtná a bude se v něm blbě orientovat. Navíc asi zapisovat do třeba 1Gb texťáku taky nebude zrovna 3× rychlé.

 
Nahoru Odpovědět
7.7.2014 11:46
Avatar
Odpovídá na Honza Bittner
Michal Haňáček:7.7.2014 12:08

No podle toho co chceš "logovat". Pokud jenom nějaké výjimky, atd. tak je asi ideální texťák. Pokud nějakou pravidelnou činnost, tak asi DB jinak by ti (jak už říkal už Michal) ten logovací "soubor" by mohl nechutně nabobtnat ...

Nahoru Odpovědět
7.7.2014 12:08
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Honza Bittner
David Hartinger:7.7.2014 12:13

Inserty do DB jsou dost pomalé, kvůli udržování indexu trvá vložení záznamu dlouho když jich je v tabulce hodně. Když loguješ do texťáku nějakým file_put_contents tak je to atomická operace, neřešíš lockování a hlavně to nezávisí na velikosti souboru. Logy si pak můžeš naparsovat třeba nějakým cronem a zpracovat jednou za den nebo tak.

Nahoru Odpovědět
7.7.2014 12:13
New kid back on the block with a R.I.P
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na David Hartinger
Honza Bittner:7.7.2014 12:15

Jasné, a jednou za X hodin, či dnů to vše vložím do databáze a soubor vyčistím? :)

Nahoru Odpovědět
7.7.2014 12:15
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Honza Bittner
David Hartinger:7.7.2014 12:39

Přesně tak. Ještě dodám, abys použil multiinsert a nevkládal to tam po jednom insertu for cyklem :D

Editováno 7.7.2014 12:39
Nahoru Odpovědět
7.7.2014 12:39
New kid back on the block with a R.I.P
Avatar
Milan Křepelka
Tvůrce
Avatar
Odpovídá na Honza Bittner
Milan Křepelka:7.7.2014 15:26

Logy nedává smysl dávat do databáze pokud je nechci databázově zpracovávat. Ve své podstatě je to datový odpad který se hodí při rekonstrukci chodu programu a hledání problémů. Vytvářet si tím zbytečně úzké hrdlo směrem k DB je přinejmenším k zamyšlení. Navíc se logují i neobvyklé či havarijní stavy. Tedy zalogovat výpadek připojení k SQL serveru by mohl být problém :-).

Starosti s bobtnáním logovacího souboru bych si tedy vůbec nedělal. Neznám moderní logovátko které by neobsahovalo omezení na maximální velikost souboru a při jenom překročení se vytvoří nový soubor nebo přepisují starší informace.

Navíc je zde pořád možnost kombinace. Třeba viz. log4net - logovací informace určitého "stupně" házet do souboru a jiného zase do databáze, mail, event log(u) apod.

 
Nahoru Odpovědět
7.7.2014 15:26
Avatar
Honza Bittner
Tvůrce
Avatar
Honza Bittner:7.7.2014 16:04

Tak v podstatě mohu logovat do souborů podle data, ne?

Potom třeba při rozlišení aktivity uživatelů a nějakých chyb mohu jen posílat do jiného souboru.

aktivita/2014-07-07.txt
errory/2014-07-07.txt
Nahoru Odpovědět
7.7.2014 16:04
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Milan Křepelka
Tvůrce
Avatar
Milan Křepelka:7.7.2014 16:55

Ano. To už pak záleží na logovátku který použiješ. Tady je výhodný nevymýšlet potísícáte kolo a najít si nějaký logovací systém který ti bude vyhovovat. Určitě se setkáš s tím, že minimálně Error/Warning/De­bug/Info můžeš posílat každý do jiného "storage". Třeba EntepriseLibrary má ještě rozmanitější systém možností, ale to už není úplně pro každýho.

 
Nahoru Odpovědět
7.7.2014 16:55
Avatar
Petr D
Člen
Avatar
Petr D:7.7.2014 17:25

Naprostý souhlas s Milan Křepelka
Osobně zpracovávám závažné chybové hlášky(špatný dotaz do db, neodeslal se email s objednávkou) do xml souboru, který se automaticky kontroluje pluginem v prohlížeči. :)

 
Nahoru Odpovědět
7.7.2014 17:25
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.