Подтвердить что ты не робот

Хорошая, бесплатная база данных Delphi

Может ли кто-нибудь намекнуть мне хорошую, бесплатную фреймворку Delphi? Он должен быть простым в использовании, и он должен поддерживать разные "авторы журналов", включая простой текст, базу данных и сеть.

4b9b3361

Ответ 2

Я знаю, что это не бесплатно - но стоит того, чтобы деньги: CodeSite от Raize Software. Качество имеет свою цену!: -)

Мне всегда нравилось работать с CodeSite, особенно часто добавлялась возможность добавлять практически к любому типу объектов в журнал без огромных преобразований в строковый формат.

Опять же: не бесплатно, но стоит его цена в золоте, если вы действительно серьезно относитесь к регистрации качества продукции и просмотру этих журналов.

Марк

Ответ 3

Мне предоставлен доступ для обновления бездействующего проекта Log4Delphi, и я обновил 4 года исправлений и исправлений в последней версии 0.8, доступной в Source-forge. Я использую эту библиотеку в производстве и нашел ее очень стабильной, надежной и простой в использовании.

Страница загрузки Log4Delphi

Ответ 4

Я тоже большой поклонник CodeSite, но если вы ищете бесплатно, как насчет OutputDebugString с помощью Delphi IDE или DebugView от SysInternals.

Ответ 5

Другой альтернативой Codesite является Overseer, который является открытым исходным кодом и является частью nexus project, но стоит отдельно, поэтому вам не нужно использовать их фреймворк.

Ответ 6

Для Delphi существует еще одна новая структура ведения журнала, которая приходит в одном файле (nxlogging.pas). nxlogging - хороший легкий и мощный набор классов, таких как log4d (appenders, formaters), но гораздо проще использовать tu. Он включает в себя файловые приложения (скользящие файлы, все в одном и т.д.) И приложение tcp, поэтому вы можете пересылать свои журналы на центральный сервер.

Ответ 7

Существует Log4D, другой порт Java система ведения журнала Log4J для Delphi в Sourceforge.

Страница проекта Log4D в sourceforge

Описание его архитектуры можно найти на CodeCentral и здесь.

Файлы справки доступны в Интернете по адресу http://cc.embarcadero.com/item/16446.

В настоящее время он основан на log4j 1.2.12 и довольно активен и очень прост в использовании. Он включает в себя TLogODSAppender, TLogStreamAppender, TLogFileAppender, TLogRollingFileAppender.

Следующий пример проекта создает приложение ODS. Если вы запустите его в среде IDE, сообщения журнала появятся в окне журнала событий.

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.

Написание добавок прямолинейно, вот пример простого консольного приложения:

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.

Ответ 8

Библиотека регистратора не должна сбрасывать содержимое синхронно. Это замедлит работу приложения. Вместо этого он должен буферизировать содержимое и сбрасывать их при его очистке.

Он также должен быть потокобезопасным и способен выгружать содержимое из разных потоков. (И желательно иметь возможность регистрировать идентификатор потока также)

Он также должен быть гибким и способным регистрировать несколько форматов вывода.

Здесь библиотека, которая делает все это: loggerpro