function mail_error($errno, $errstr, $errfile, $errline) {
$message = "[Error $errno] $errstr - Error on line $errline in file $errfile";
error_log($message); // writes the error to the log file
mail('[email protected]', 'I have an error', $message);
}
set_error_handler('mail_error', E_ALL^E_NOTICE);
In config.php add or edit the following lines to this:
------------------------------------------------------
$config['log_threshold'] = 4; // (1/2/3)
$config['log_path'] = '/home/path/to/application/logs/';
Run this command in the terminal:
----------------------------------
sudo chmod -R 777 /home/path/to/application/logs/
6条答案
按热度按时间k2fxgqgv1#
CodeIgniter内置了一些错误日志功能。
$config['log_threshold'] = 1;
或使用更高的数字,具体取决于您希望日志中包含多少详细信息
log_message('error', 'Some variable did not contain a value.');
log_exceptions()
。你可以自己做,也可以使用this。有关扩展核心here的更多信息参见http://www.codeigniter.com/user_guide/general/errors.html
f45qwnt82#
要简单地在服务器的错误日志中添加一行,请使用PHP的error_log()函数。但是,该方法不会发送电子邮件。
首先,要触发错误:
默认情况下,这将进入服务器的错误日志文件。参见Apache的ErrorLog指令。要设置自己的日志文件,请执行以下操作:
请注意,您选择的日志文件必须已经存在,并且可由服务器进程写入。使文件可写的最简单方法是使服务器用户成为文件的所有者。(服务器用户可能是nobody、_www、apache或其他用户,具体取决于您的操作系统发行版。)
要通过电子邮件发送错误,您需要设置自定义错误处理程序:
请参阅relevant PHP documentation了解更多信息。
wfypjpf43#
还要确保您已经允许codeigniter在配置文件中记录您想要的消息类型。
即
$config['log_threshold'] = [log_level ranges 0-4];
mutmk8jj4#
k2arahey5#
更多oin关于问题第4部分你如何用电子邮件将错误发送到一个电子邮件地址?error_log函数也有电子邮件目的地。http://php.net/manual/en/function.error-log.php
啊,我在这里找到一个例子,说明一个用法。Send errors message via email using error_log()
ars1skjm6#
启用日志记录
机器:Mac OS -英特尔芯片
是的,您可以为localhost启用它。只需转到src/customers/application/config/config.php并添加
然后重新启动服务器x1c 0d1x
范例:
我在文件中添加了下面的log_message语句:src/customers/application/views/admin/orders/view.php
生成的日志文件格式:log-YYYY-MM-DD.php内部位置**/Applications/XAMPP/logs/**