🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#334628
From: wloochacz
Date: Mon, 09 Jan 2012 19:07
130 lines
7290 bytes
W dniu 2012-01-09 16:55, R.e.m.e.K pisze:
> Dnia Mon, 09 Jan 2012 15:25:18 +0100, wloochacz napisał(a):
>
>> Miałem podobny dylemat - ale już nie mam :)
>> Zostaję przy CodeSite.
>
> A jak u nich z supportem? Probowales korzystac?
>
>> Czytałeś dokładnie ten wątek? Bo ciut pomieszałeś...
>
> No..eee...przefrunalem tamtedy ;-)
>
>> Ograniczenie związane z win messages jest dotkliwe przy logowaniu z
>> usługi systemowej. Trzeba taką usługę zrobić "interaktywną z desktopem"
>> bo inaczej ma w nosie messages.
>> I to wszystko prawda, ale... CodeSite równie dobrze może działać na
>> warstwie transportowej TCP/IP a messages są używane domyślnie.
>
> Ale pipek nie ma chyba.
No, chyba nie ma.
W ogóle mam wrażenie, że CS jest jakiś taki... niezbyt rozwijany.
Pewnie autor wolałby określenie "produkt kompletny i skończony" ;-)
I chyba tak jest; pobieżnie widać, że:
1) nie znalazłem możliwości logowania np. TDataSet w SI, co w CS jest w 
standardzie (ale w wersji Studio). Aczkolwiek ten standard  i tak ciut 
za mało (jak dla mnie). Tylko, że napisanie sobie czegoś więcej to sama 
przyjemność :-)

2) SI posiada enumeratywnie określone tzw. Viewery (typ TSiViewerId) za 
pomocą którego możemy sterować jak pokazywana będzie zalogowana treść; 
czyli będzie to np. XML z kolorowaniem składni.
I fajnie, ale to trochę mało.
Oczywiście w CS też jest XML z kolorowaniem składnie, ale jest i 
prezentacja XMLa w postaci drzewa.
Zdaję sobie sprawę, że to cukierek i nie ma to większego znaczenia, ale...
W CS można napisać i zarejestrować własnego Viewera, który może 
prezentować własnych typów złożonych w takiej postacie w jakiej 
potrzebujemy.
Nie znalazłem takiej opcji w SI.
Oczywiście, nie każdemu to będzie potrzebne - ale miało być o różnicach ;-)

3) Wydaje się, że w CS posiada pełniejszą dokumentację; opisy są 
pełniejsze, jet więcej przykładów no i są odnośniki do innych metod i 
typów danych. W SI bywa z tym różnie.

Nie jestem w pełni porównać obu produktów, bo słabo znam CS'a i nie znam 
w ogóle SI (poza zainstalowaniem demo i czytaniem dokumentacji).
Mogę się tylko odnieść do tego co napiszecie o SI, jeśli będę potrafił :D

>>   >  CS wymaga tez dispatchera na komputerach klienckich, to spora wada.
>> I ogromna zaleta.
>> To prawda, że Dispatcher jest wymagany, ale jego instalacja jest
>> trywialna, a w sumie nie ma żadnej - wystarczy skopiować plik EXE do
>> katalogu aplikacji; reszta zrobi się sama.
>
> Tego "detalu" nie wiedzialem, zmniejsza to problem rzeczywiscie do zadnego.
>
>> Niech mnie ktoś poprawi, ale CS i SI mają ciut różną architekturę.
>> CS może i potrafi obsługiwać nieograniczoną ilość loggerów w tym samym
>> czasie. A więc można sobie zrobić np. osobne loggery dla logowania
>> różnych części aplikacji (ja mam np. osobne loggery dla różnych poziomów
>> logowania (Info, Debug, Warning, Error, Fatal), każdy podsystem
>> frameworka ma osobny, obiekty biznesowe też mogą mieć osobne).
>> Każdy logger może działać z różnymi Destinations - a więc równocześnie
>> może logować np. do pliku, serwera TCP/IP czy LiveViewer'a.
>> Co więcej - każda osobna instancja loggera może logować do tego samego
>> pliku,a le może też i do osobnych.
>> Synchronizacją tym całym "bałaganem" zarządza właśnie CSDispacher.
>
> W SI to sie tez da zrobic, choc nie wiem jak z jednym plikiem i dostepem do
> niego. Ale samo stworzenie wielu loggerow to kwestia utworzenia kilku sesji:
>
> "A powerful feature of SmartInspect are the Sessions. When you use
> SmartInspect, you are already using the default Main session. Did you know
> that you can create custom sessions to make it easier to enable/disable
> logging for certain application modules or to filter log messages in the
> Console? Creating new sessions is easy:
>
> UI := Si.AddSession('User Interface');"
Efekt jest podobny, tylko implementacja ciut inna.
Za to widzę, że w SI jest fabryka - w CS nic takiego nie ma.
Oczywiście to żaden problem, żeby ją napisać - no, ale jej nie ma.
Za to wydaje mi się, że CS ma ciut większe możliwości formatowania 
zalogowanych informacji w konsoli.
Można określić kategorię (grupę), kolor i kolor czcionki.
To i tak niewiele, ale ciut więcej niż w SI - chyba...

>> Z tego co zauważyłem, to w SI poziomy logowania (Info, Debug, Warning,
>> Error, Fatal) są dostępne od ręki. W CS nie ma czegoś takiego, trzeba to
>> sobie poskładać wedle uznania.
>> Za to całość jest dużo bardziej elastyczna i niezależna od siebie nawzajem.
>
> Na ten temat przemyslen nie mam, ale zawsze sztywna definicja jest gorsza,
> wiec zapewne masz racje.
>
>>   >  Piotr Rezmer napisal, ze SI mozna latwo zintegrowac z Eureka, ale tak
>>   >  naprawde polega to na "dointegrowaniu" loga SI do Eureki, wiec mozna
>>   >  to identycznie zrobic takze dla CS.
>> Zrobiłem sobie taką integrację w 5 min :D
>
> Otoz to, dlatego zdziwilo mnie, ze Piotr to podkreslil jako zalete :-)
>
>> Co prawda zajęło mi to dzień cały, ale czas poświęciłem na poznawanie CS'a.
>> Może potem pokażę jakieś obrazki czy coś...
>>
>>   >  Poza tym widze, ze wygladaja
>>   >  podobnie, ale diabel pewnie drzemie w szczegolach, o tym by warto
>>   >  przy okazji pogadac.
>> Ano, właśnie.
>
> Licze, ze Piotr sie wlaczy i poda kilka slabych stron SI, lub tez
> szczegolnie mocnych, wtedy cos wyniknie z konfrontacji.
>
>>   >  ps. mam XE i w nim CodeSite, ale jesli to ma byc zwiazek na lata
>>   >  to wolalbympoznac oba i wybrac po prostu lepszy, chocby i trzeba
>>   >  bylo doplacic.
>> Nie wiem który lepszy, ale CSa mam za friko i póki co mi wystarczy -
>> zwłaszcza, że moja wersja 4.6.1 Express w połączeniu z CodeSiteExtension
>> i moim własnym Extension daje mi tyle co CodeSite 5 i ciut więcej ;-)
>
> A nie wiesz czy ten Express mozna upgradowac do 5 za mniejsza cene niz nowa
> licenja? Na ich www jest upgrade tylko wersji Studio.
Nie mam pojęcia.

> I co to jest CodeSiteExtension? Masz na mysli CodeSite Extras? Czy jeszcze
> cos innego?
Tak, to jest to - wybacz skrót myślowy.

-- 
wloochacz
Technical Details
Message-ID: <jefdtk$jqu$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>

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:07:25 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 130
Message-ID: <jefdtk$jqu$1@inews.gazeta.pl>
References: <jeetcf$s57$1@inews.gazeta.pl> <115dc4jpp76fc$.dlg@hell.heaven>
Reply-To: wloochacz@nospam.gmail.spameromnie.com
NNTP-Posting-Host: 178.217.32.151
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1326136053 20318 178.217.32.151 (9 Jan 2012 19:07:33 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Mon, 9 Jan 2012 19:07:33 +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: <115dc4jpp76fc$.dlg@hell.heaven>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit