আমি ডেলফিতে একটি প্রকল্পে কাজ করছি এবং আমি অ্যাপ্লিকেশনটির জন্য একটি ইনস্টলার তৈরি করছি, এখানে তিনটি প্রধান অংশ রয়েছে।
- PostgreSQL ইনস্টলেশন / আনইনস্টলেশন
- মায়াপ্লিকেশন (এনএসআই ব্যবহার করে মায়াপ্লিকেশন সেটআপ করা হয়) ইনস্টলেশন / আনইনস্টলেশন।
- স্ক্রিপ্টের মাধ্যমে পোস্টগ্রাজে টেবিল তৈরি করা হচ্ছে (ব্যাচ ফাইলগুলি)।
প্রতিটি জিনিস জরিমানা চলে এবং সহজে, কিন্তু যদি কিছু ব্যর্থ হয় আমি একটা 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()
কল
ছিল before
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)
এটি এখন আমার পুরো কোডের ক্ষেত্রে।
এটি পড়া কঠিন।
লগটোফায়লে কল কল বন্ধ করার জন্য কি কেউ আমাকে সুন্দর উপায় প্রস্তাব করতে পারেন?
মত
'লগোটোফাইলেটফুফিল.লগটোওফাইলে () Ind এইভাবে কল করা
হচ্ছে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;
সুতরাং যেখানে প্রয়োজন সেখানে আমি কেবলমাত্র লগটোফিলিংমাইমেসেজ (1) কল করতে পারি।
কেউ কি আমাকে বলতে পারেন যে এইভাবে লগটোফাইলেগিংয়ের জন্য আরও ভাল এবং ক্লিনার পদ্ধতির কী?
logBook.log()
মুখোমুখি হয়।