Article View: pl.comp.lang.delphi
Article #334635Re: Debug & Logging system (CodeSite, SmartInspect)...
From: wloochacz
Date: Mon, 09 Jan 2012 19:34
Date: Mon, 09 Jan 2012 19:34
93 lines
4252 bytes
4252 bytes
W dniu 2012-01-09 20:03, Piotr Rezmer pisze:
> R.e.m.e.K pisze:
>
>> Licze, ze Piotr sie wlaczy i poda kilka slabych stron SI, lub tez
>> szczegolnie mocnych, wtedy cos wyniknie z konfrontacji.
>
> To czego mi brakuje w SI:
> -brak możliwości konfiguracji instrumentatora (IDE plugin). Domyślnie
> działa to następująco:
>
> begin
> <Konfigurowalna nazwa zmiennej typu Session>.EnterMethod();
> ....
> <Konfigurowalna nazwa zmiennej typu Session>.LeaveMethod();
> end;
>
> tymczasem chciałbym użyć składni:
> begin
> <Konfigurowalna nazwa zmiennej typu Session>.TrackMethod();
> ....
> end;
>
> Na razie muszę to robić ręcznie (Search&Replace).
>
> Oczywiście idealnie byłoby umieścić logowanie (enter/exit) wewnątrz
> aspektu AOP, ale póki co musimy poczekać i zaśmiecać kod.
Oj tam, oj tam...
W CS jest takie coś:
http://www.raize.com/devtools/codesite/MethodTracer.asp
XE posiada interceptory dla metod wirtualnych, a więc można.
Osobiście nie robiłbym tego ani tak ani siak, tylko utworzyłbym sobie
sesję w SI z konkretną nazwą, która logowałby metodę.
I w zależności od tego czy metoda ma być logowana to sesja byłaby
aktywna lub nie.
Sesja nieaktywna - nic się nie loguje/wysyła.
Sesja aktywna - wręcz przeciwnie.
BTW - oczywiście wiesz, że zamiast pisać tak:
procedure TSomeClass.DoSomething;
begin
SiMain.EnterMethod(Self, 'DoSomething');
try
something...
finally
SiMain.LeaveMethod(Self, 'DoSomething');
end;
end;
Możesz napisać tak:
procedure TSomeClass.DoSomething;
begin
SiMain.TrackMethod(Self, 'DoSomething');
something...
end;
Efekt jest dokładnie taki sam; dokładnie identyczna funkcjonalność jest
dostępna w CS.
> W Delphi 2009 nie działa mi logowanie wyjątku (brakuje stosu), nie jest
> to wielki problem bo korzystam z EL.
Ale równocześnie w SI z EurekaLog'a?
Tak się pytam, bo ja sobie przeciążyłem metodę SendException
(odpowiednik LogException z SI) w ten sposób, aby CS wysyłał mi
informacje o wyjątku takie jak posiada Eureka tylko do konsoli CS'a.
Przy okazji dopisałem sobie również metodę SendCurrerntCallStack - chyba
wiadomo co ona wysyła...
> Gdy robię wyciąg logów do dokumentu opisującego problem przydałoby się
> kopiowanie treści komunikatu razem z timestampem. Teraz muszę się
> troszkę naklikać.
Też nie ma w CS, jedynie eksport do TXT lub XMLa zawiera wszystkie dane.
> Przydałaby się jeszcze opcja kompresji starych (zrotowanych logów).
> Można to oczywiście zrobić samemu (poprzez obsługę odpowiedniego eventu)
> ale wolałbym aby to ktoś zrobił za mnie ;) - leniwy jestem
Nie ma w CS.
> Jeszcze o plusach SI:
> -Możliwość rekonfiguracji logowania działającej aplikacji bez
> konieczności jej restartu
Nie wiem co rozumiesz przez rekonfigurację, ale w CS można zrobić
dosłownie wszystko bez restartu.
Pewnie w SI jest podobnie.
Za to, to co mnie irytuje w CS to jest kiepski system filtrowania logów;
jeśli dobrze to rozumiem, to można używać tylko warunku "równa się"
(sic!) - lipa straszna...
SI wspiera wyrażenia regularne - jakoś nie znalazłem podobnej opcji w CS...
--
wloochacz
Technical Details
Message-ID:
<jeffff$olb$1@inews.gazeta.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailReferences:
<jeetcf$s57$1@inews.gazeta.pl> <115dc4jpp76fc$.dlg@hell.heaven> <jefdmq$it7$1@inews.gazeta.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: wloochacz <wloochacz@nospam.gmail.spameromnie.com> Newsgroups: pl.comp.lang.delphi Subject: Re: Debug & Logging system (CodeSite, SmartInspect)... Date: Mon, 09 Jan 2012 20:34:06 +0100 Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 93 Message-ID: <jeffff$olb$1@inews.gazeta.pl> References: <jeetcf$s57$1@inews.gazeta.pl> <115dc4jpp76fc$.dlg@hell.heaven> <jefdmq$it7$1@inews.gazeta.pl> Reply-To: wloochacz@nospam.gmail.spameromnie.com NNTP-Posting-Host: 178.217.32.151 Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1326137648 25259 178.217.32.151 (9 Jan 2012 19:34:08 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Mon, 9 Jan 2012 19:34:08 +0000 (UTC) X-User: wloochacz User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20111105 Thunderbird/8.0 In-Reply-To: <jefdmq$it7$1@inews.gazeta.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit