Database 您登录到数据库,当数据库关闭时,您在哪里登录?

Database 您登录到数据库,当数据库关闭时,您在哪里登录?,database,logging,Database,Logging,我正在处理一个标准问题:当数据库不可用时,我可以使用基于文件的日志记录吗?我不介意它是否因为并发问题而变慢,但它不会因为多次同时点击而无法工作 我一般(针对其他web技术)问这个问题,特别是针对Pear for PHP 谢谢 您可以将现有数据库对象传递到-如果您没有数据库,则可以恢复到其他日志记录方法(或good old user_error()) 通常,如果无法连接到数据库,则登录到文件系统是一个很好的退路。同时点击应该不是问题(锁定…)。如果您已经为数据库调整了日志,那么最简单的方法可能是使

我正在处理一个标准问题:当数据库不可用时,我可以使用基于文件的日志记录吗?我不介意它是否因为并发问题而变慢,但它不会因为多次同时点击而无法工作

我一般(针对其他web技术)问这个问题,特别是针对Pear for PHP


谢谢

您可以将现有数据库对象传递到-如果您没有数据库,则可以恢复到其他日志记录方法(或good old user_error())


通常,如果无法连接到数据库,则登录到文件系统是一个很好的退路。同时点击应该不是问题(锁定…)。如果您已经为数据库调整了日志,那么最简单的方法可能是使用sqlite作为后备方法


在这种情况下,另一种方法是通过电子邮件发送日志事件,除了不丢失它们之外,这种方法还可以让您更快地意识到数据库问题。

nice!我喜欢SqlLite的想法和电子邮件的想法。我不是一个很强的OO倡导者,但这似乎是一个很好的例子,可以将日志隐藏在接口后面,并让接口关闭它的日志提供程序(email/SqlLite/db/file)
require_once 'DB.php';
$db = &DB::connect('pgsql://jon@localhost+unix/logs');

$conf['db'] = $db;
$logger = &Log::singleton('sql', 'log_table', 'ident', $conf);