Avatar
Honza Bittner
Redaktor
Avatar
Honza Bittner:

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
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Odpovídá na Honza Bittner
Michal Žůrek (misaz):

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  +1 7.7.2014 11:46
Nesnáším {}, proto se jim vyhýbám.
Avatar
Odpovídá na Honza Bittner
Michal Haňáček:

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 Čápka
Tým ITnetwork
Avatar
Odpovídá na Honza Bittner
David Čápka:

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
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na David Čápka
Honza Bittner:

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  +1 7.7.2014 12:15
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Honza Bittner
David Čápka:

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  +3 7.7.2014 12:39
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Milan Křepelka
Redaktor
Avatar
Odpovídá na Honza Bittner
Milan Křepelka:

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  +2 7.7.2014 15:26
Avatar
Honza Bittner
Redaktor
Avatar
Honza Bittner:

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
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Milan Křepelka
Redaktor
Avatar
Milan Křepelka:

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  +1 7.7.2014 16:55
Avatar
Findthee
Člen
Avatar
Findthee:

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.