मैं दो बड़े कारणों के बारे में सोच सकता हूँ:
सबसे पहले, जब किसी फ़ाइल में केवल जानकारी जोड़ने की बात आती है, तो डेटाबेस टेक्स्ट फ़ाइलों की तुलना में धीमे होते हैं। एक डेटाबेस के साथ, आपको एक कनेक्शन स्थापित करना होगा, नेटवर्क पर डेटा संचारित करना होगा, इसे एक अनुक्रमित संरचना में संग्रहीत करना होगा, वगैरह। फ़ाइल के साथ, आपको केवल स्थानीय डिस्क पर त्रुटि लिखने की आवश्यकता है।
दूसरा, कभी-कभी जिन चीजों को आप लॉग करना चाहते हैं, वे डेटाबेस के टूटने से संबंधित हैं। यदि स्थानीय डिस्क टूट गई है, तो आपको लॉग फ़ाइलें बनाने की कोशिश करने से बड़ी समस्याएँ हैं। लेकिन जब बाकी सब कुछ काम कर रहा हो तब भी आप डेटाबेस आउटेज लॉग कर सकते हैं।
ऐसा कहने के बाद, ऐसी कई स्थितियां हैं जहां मैं जिस जानकारी को लॉग करना चाहता हूं वह केवल तभी प्रासंगिक है जब एप्लिकेशन ठीक से काम कर रहा हो, और जब मेरे पास पहले से ही डेटाबेस कनेक्शन हो। उन मामलों में, मैं सीधे MySQL पर लॉग इन करता हूं।