🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi
Article #334635

Re: Debug & Logging system (CodeSite, SmartInspect)...

#334635
From: wloochacz
Date: Mon, 09 Jan 2012 19:34
93 lines
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-mail
References: <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