2009-07-27 5 views
21

czy ktoś może mi wskazać dobre, darmowe środowisko logowania Delphi? Powinien być łatwy w użyciu i powinien obsługiwać różne "logi piszące", w tym zwykły tekst, bazę danych i sieć.Dobry, bezpłatny szkielet logowania Delphi

+1

Nie można wykonać coment tutaj ... powiem z nazwami, Log4delphi i Log4D są zarówno inspiracji i wzorowane LOG4J Więc jak są one różne i jak wybrać pomiędzy ? –

Odpowiedz

7

Wiem, że nie jest za darmo - ale warte swojej ceny: CodeSite przez Raize Software. Jakość ma swoją cenę! :-)

Zawsze podobała mi się praca z CodeSite, zwłaszcza możliwość dodawania niemal każdego rodzaju obiektów do dziennika bez ogromnych konwersji do formatu smyczkowego była często bardzo pomocna.

Jeszcze raz: nie za darmo, ale warte swojej ceny w złocie, jeśli naprawdę poważnie myślisz o rejestrowaniu logów o jakości produkcji i ich przeglądaniu.

Marc

+7

Muszę się z tym nie zgodzić, chociaż moja opinia jest oczywiście bardzo stronnicza, ponieważ jestem jednym z twórców narzędzia do logowania SmartInspect. Jednym z wielu powodów, dla których CodeSite prawie nigdy nie jest najlepszym rozwiązaniem, jest to, że musisz rozesłać zewnętrzną usługę Dispatchera do aplikacji, aby rejestrować dane (tak, teraz są * Bezpośrednie protokoły dla CodeSite, ale są one bardzo ograniczone i wolne) . Istnieją inne powody przemawiające przeciwko CodeSite, ale jest to jeden z głównych powodów, dla których użytkownicy przełączają się na inne narzędzia z mojego doświadczenia. –

+0

Widzę twoją uwagę w serwisie Dispatcher - może to być wada w zależności od twojego scenariusza. Jakie masz inne powody? –

+1

marc_s: Przepraszam za głosowanie, zgadzam się, że nie był to najlepszy sposób na zgłoszenie mojej niezgodności z twoim oświadczeniem (usunąłem skargę), a to nie było osobiste. –

3

Inną alternatywą witrynie Codesite jest Overseer który jest open source i część nexus project, ale stoi sam więc nie wymagają korzystać z ich ram.

1

Istnieje Log4D, kolejny port Java Log4J logging framework dla Delphi w Sourceforge.

Log4D project page at sourceforge

opis jego architekturze można znaleźć na CodeCentral i here.

Pliki pomocy są dostępne online pod adresem http://cc.embarcadero.com/item/16446.

Obecnie jest oparty na log4j 1.2.12 i dość aktywny i bardzo łatwy w użyciu. Obejmuje TLogODSAppender, TLogStreamAppender, TLogFileAppender, TLogRollingFileAppender.

Poniższy przykładowy projekt tworzy uczestnika ODS. Jeśli uruchomisz go w środowisku IDE, komunikaty dziennika pojawią się w oknie "Dziennik zdarzeń".

program Log4Dexample; 

{$APPTYPE CONSOLE} 

uses 
    Log4D, 
    SysUtils; 

var 
    Logger: TLogLogger; 

begin 
    try 
    // basic configuration - creates a TLogODSAppender (ODS = OutputDebugString) 
    TLogBasicConfigurator.Configure; 

    // set the log level 
    TLogLogger.GetRootLogger.Level := Trace; 

    // create a named logger 
    Logger := TLogLogger.GetLogger('exampleLogger'); 

    // write log messages 
    Logger.Fatal('fatal output'); 
    Logger.Error('error output'); 
    Logger.Warn('warn output'); 
    Logger.Info('info output'); 
    Logger.Debug('debug output'); 
    Logger.Trace('trace output'); 

    ReadLn; 

    except 
    on E:Exception do 
    begin 
     Writeln(E.Classname, ': ', E.Message); 
     ReadLn; 
    end; 
    end; 
end. 

Pisanie appenders jest prosta, tutaj jest przykładem prostego appender konsoli:

unit LogConsoleAppender; 

interface 

uses 
    Log4D; 

type 
    { Send log messages to console output. } 
    TLogConsoleAppender = class(TLogCustomAppender) 
    protected 
    procedure DoAppend(const Message: string); override; 
    end; 

implementation 

{ TLogConsoleAppender } 

procedure TLogConsoleAppender.DoAppend(const Message: string); 
begin 
    if IsConsole then 
    Write(Message); 
end; 

initialization 
    RegisterAppender(TLogConsoleAppender); 

end. 
+0

ten projekt został porzucony. – Ampere

6

Zostałem zapewniony dostęp do aktualizacji uśpioną projekt Log4Delphi i mam podwinięte 4 lata poprawek i poprawki do najnowszej wersji 0.8 dostępnej na Source-forge. Używam tej biblioteki w produkcji i stwierdziłem, że jest bardzo stabilna, niezawodna i łatwa w użyciu.

Log4Delphi Downloads Page

+0

Wygląda na to, że nie ma aktualizacji od 2010 roku. – Ampere

+1

Kenny, Podobnie jak w wielu innych frameworkach Delphi, wsparcie i konserwacja zaczynają się modlić, ponieważ ludzie przestają używać Delphi. Był facet, który zrobił klon Log4Delphi i aktualizował go, ale nie mogę już dłużej udoskonalać jego strony. – Melloware

2

Jest inna nowe ramy rejestrowanie dla Delphi, który pochodzi w jednym pliku (nxlogging.pas). nxlogging to miły, lekki i potężny zestaw klas, takich jak log4d (appendery, formatery), ale o wiele łatwiejszy w użyciu. Obejmuje on programy do wczytywania plików (pliki toczenia, wszystkie w jednym, itd.) Oraz aplikację tcp, więc możesz przekazywać dzienniki do głównego serwera.

+1

Link: http://www.navimatix.de/loesungen/log-server/logging-fuer-delphi-nxlogging/ – mjn

+0

@mjn Dziękuję, wygląda bardzo dobrze. – vladon

+2

@mjn Niestety, jest w języku niemieckim. Stronę można przetłumaczyć w Google, ale nie same aplikacje. – vladon

0

Biblioteka modułów rejestrujących nie powinna zrzutu zawartości synchronicznie. To spowolni aplikację. Zamiast tego musi buforować zawartość i zrzucać je po przepłukaniu.

Powinien także być bezpieczny w użyciu i może zrzucać zawartość z różnych wątków. (A najlepiej być w stanie zalogować również identyfikator wątku)

Powinien także być elastyczny i zdolny do rejestrowania wielu formatów wyjściowych.

Oto biblioteka, która to wszystko: loggerpro