我的Web应用程序有许多定时循环的Ajax请求,这些请求从不同的控制器获取内容,并将我的每日日志大小增加到2 GB。是否有一种方法仅在调用特定控制器时才禁用日志记录?应该在控制器的第一个实例上禁用日志记录,然后在调用load-> view方法之前重新启用日志记录。
答案 0 :(得分:1)
您可能知道错误记录阈值是
0 = Disables logging (TURNED OFF)
1 = Error Messages (including PHP errors)
2 = Debug Messages
3 = Informational Messages
4 = All Messages
您应该可以使用以下内容关闭登录。
$ this-> config-> set_item('log_threshold',0);
如果您希望其所有方法停止记录,则可以在特定的控制器方法中或在控制器构造函数中完成。
要恢复日志记录,即在“所有邮件”级别运行
$this->config->set_item('log_threshold', 4);
了解对config->set_item()
的任何调用都不是持久的。该调用不会更改config.php的内容,因此下一次该站点收到请求时,它将使用配置文件中定义的日志阈值。
同样,如果在动态更改级别之后重新加载配置文件,它将覆盖动态分配的值。 AFAIK,CodeIgniter每个框架实例仅加载一次配置文件。但是开发人员有时会做一些奇怪的事情。