Я работаю над проектом в Delphi, и я создаю установщик для приложения, состоит из трех основных частей.
- Установка / удаление PostgreSQL
- myapplication (настройка myapplication создается с использованием nsi) установка / удаление.
- Создание таблиц в Postgres через скрипт (пакетные файлы).
Все работает нормально и гладко, но если что-то не получается, я создал LogToFileger, который будет LogToFile на каждом этапе процесса,
как это
LogToFileToFile.LogToFile('[DatabaseInstallation] : [ACTION]:Postgres installation started');
Функция LogToFileToFile.LogToFile()
Это запишет содержимое в файл. Это работает хорошо, но проблема в том, что это испортило код, так как стало трудно читать код, так как один может видеть только LogToFileToFile.LogToFile()
вызов функции везде в коде
пример
if Not FileExists(SystemDrive+'\FileName.txt') then
begin
if CopyFile(PChar(FilePathBase+'FileName.txt'), PChar(SystemDrive+'\FileName.txt'), False) then
LogToFileToFile.LogToFile('[DatabaseInstallation] : copying FileName.txt to '+SystemDrive+'\ done')
else
LogToFileToFile.LogToFile('[DatabaseInstallation] : copying FileName.txt to '+SystemDrive+'\ Failed');
end;
if Not FileExists(SystemDrive+'\SecondFileName.txt') then
begin
if CopyFile(PChar(FilePathBase+'SecondFileName.txt'), PChar('c:\SecondFileName.txt'), False) then
LogToFileToFile.LogToFile('[DatabaseInstallation] : copying SecondFileName.txt to '+SystemDrive+'\ done')
else
LogToFileToFile.LogToFile('[DatabaseInstallation] : copying SecondFileName.txt to '+SystemDrive+'\ Failed');
end;
как вы можете видеть, есть много LogToFileToFile.LogToFile()
звонков,
прежде чем это было
if Not FileExists(SystemDrive+'\FileName.txt') then
CopyFile(PChar(FilePathBase+'FileName.txt'), PChar(SystemDrive+'\FileName.txt'), False)
if Not FileExists(SystemDrive+'\SecondFileName.txt') then
CopyFile(PChar(FilePathBase+'SecondFileName.txt'), PChar('c:\SecondFileName.txt'), False)
это так во всем моем коде сейчас.
его трудно читать.
Кто-нибудь может предложить мне хороший способ, чтобы убрать звонки в LogToFile?
лайк
Отступ в 'LogToFileToFile.LogToFile () `вызов ,
как этоif Not FileExists(SystemDrive+'\FileName.txt') then begin if CopyFile(PChar(FilePathBase+'FileName.txt'), PChar(SystemDrive+'\FileName.txt'), False) then {Far away--->>} LogToFileToFile.LogToFile(2,'[DatabaseInstallation] : [ACTION]:copying FileName.txt to '+SystemDrive+'\ sucessful') else {Far away--->>} LogToFileToFile.LogToFile(2,'[DatabaseInstallation] : [ACTION]:copying FileName.txt to '+SystemDrive+'\ Failed'); end;
Отдельный блок, как
LogToFileger
этот Блок будет иметь все сообщения LogToFile,switch case
как этоFunction LogToFilegingMyMessage(LogToFilegMessage : integer) begin case LogToFilegMessage of 1 : LogToFileToFile.LogToFile(2,'[DatabaseInstallation] : [ACTION]:copying FileName.txt to '+SystemDrive+'\ sucessful'); 2 : LogToFileToFile.LogToFile(2,'[DatabaseInstallation] : [ACTION]:copying FileName.txt to '+SystemDrive+'\ Failed'); 150 : LogToFileToFile.LogToFile(2,'[somthing] : [ACTION]: somthing important); end;
так что я могу просто вызвать LogToFilegingMyMessage (1), где это необходимо.
Может кто-нибудь сказать мне, что является лучшим и более чистым подходом к LogToFileging таким образом?
logBook.log()
встречаются.