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í.
Pouze tento týden sleva až 80 % na e-learning týkající se C a C++. Zároveň využij akce až 80 % zdarma při nákupu e-learningu - více informací.
c week
Avatar
Dog
Člen
Avatar
Dog:17.7.2016 19:13

Ahoj,
mám dotaz, když budu mít filesystemwatcher nastavený na analyzování logfilu jednoho software, může software nějakým způsobem zjistit, že je čten jeho logfile? Podotýkám, že jen čten, kdybych dělal nějaké změny, kopie, přejmenovávání, nebo mazání tak by to zjistil určitě právě filesystemwatcher (ReadDirectoryChan­gesW) nastavený na složku s logfilem, ale neví někdo jak je to, když je jen čten?

A dá se to zjistit něják jinak, než ReadDirectoryChan­gesW? Za předpokladu, že nezná software vůbec název programu atd.

Děkuji :-)

Editováno 17.7.2016 19:15
 
Odpovědět
17.7.2016 19:13
Avatar
Odpovídá na Dog
Michal Štěpánek:18.7.2016 6:06

Nabízí se spíš otázka, co myslíš tím

analyzování logfilu jednoho software

Nevím, jak je to u "LOG" souborů, ale většinou to u souborů funguje tak, že když soubor otevřeš (byť jen ke čtení), nemůžeš do něj odjinud zapisovat (soubor je využíván jiným procesem).
Dalo by se to obejít tím, že si soubor vždycky někam zkopíruješ a po analýze zahodíš...

Nahoru Odpovědět
18.7.2016 6:06
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Dog
Člen
Avatar
Dog:18.7.2016 23:40

A kdyby to teoreticky šlo s (FileShare.Re­adWrite), tak se to dá nějakým způsobem zjistit?

 
Nahoru Odpovědět
18.7.2016 23:40
Avatar
Luboš Běhounek Satik
Autoredaktor
Avatar
Luboš Běhounek Satik:19.7.2016 8:29

O co presne se snazis? :) Co se stane, kdyz ten program zjisti, ze mu ctes log? To maji opravdu hlidany log? :D

Nahoru Odpovědět
19.7.2016 8:29
https://www.facebook.com/peasantsandcastles/
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Dog
Člen
Avatar
Odpovídá na Michal Štěpánek
Dog:22.7.2016 1:07

Tohle je trošku problém...Když spustím aplikaci, tak to jednou přečte log a potom to vyhodí NET. error něco takovýho... The process cannot access the file 'filename' because it is being used by another process

půjde to bud tak, že tu vyjímku nějak ošetřím, try, catch, by to mohlo jít teoreticky, nebo ten log kopírovat. Máte někdo nějakej jinej tip?

Díky

 
Nahoru Odpovědět
22.7.2016 1:07
Avatar
Dog
Člen
Avatar
Dog:22.7.2016 1:31

V každém případě jsou aplikace, které ten log bez problémů čtou a vytahují z něj informace.

 
Nahoru Odpovědět
22.7.2016 1:31
Avatar
Marian Benčat:22.7.2016 3:50

lol tam nejde o to ze odchytis exceptionu, ale o to, ze ten file descriptor ma otevreny neco jinyho :D pointa je ta, ze bys mel vsechno otevirat jen pro cteni a jen na opravdu super kratkou chvilku to otevrit pro zapis.. jen rychle zapsat a hned zase zavrit soubor a otevrit ho treba pro cteni (pokud potrebujes)

Nahoru Odpovědět
22.7.2016 3:50
Totalitní admini..
Avatar
Odpovídá na Dog
Michal Štěpánek:22.7.2016 6:14

Však jsem to psal

(soubor je využíván jiným procesem).

Nejlepší bude, když si vždycky pro potřeby tvého programu ten log někam zkopíruješ (pak si s tou kopií můžeš dělat co chceš) a až budeš chtít čerstvější data, uděláš si další kopii toho logu...

Nahoru Odpovědět
22.7.2016 6:14
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
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 8 zpráv z 8.