【问题标题】:Log_message codeigniterLog_message 代码点火器
【发布时间】:2016-01-28 03:02:54
【问题描述】:

我想在 Codeigniter 中使用 log_message,但 log_message 没有在日志文件中写入任何内容。

$config['log_threshold'] = 4;

$config['log_path'] = 'http://spsvn01/var/www/html/RAIDLOG/application/logs/';

在我的控制器中我写:

log_message('error','USER_INFO '.$user_info['email']);

非常感谢!

【问题讨论】:

  • 需要是 log_path 而不是 'log url',类似于 /var/www/...

标签: php codeigniter error-logging error-log


【解决方案1】:

我会使用指向您的应用程序文件夹的FCPATH 常量:

$config['log_threshold'] = 4;
$config['log_path'] = FCPATH . '/application/logs/';

我的工作正常。

http://www.codeigniter.com/user_guide/general/errors.html

信息性消息

log_message('info', 'USER_INFO ' . $user_info['email']);

错误消息

log_message('error', 'USER_INFO ' . $user_info['email']);

此外,日志文件夹必须是可写的。对文件夹执行CHMOD 700

【讨论】:

  • 是的,我的文件夹是 chmod 777,当我有 404 错误时,会创建一个日志文件。但是我的 log_message 并没有写进去。 :(
  • 它应该是 $config['log_path'] = FCPATH 。 '应用程序/日志/';
【解决方案2】:

就这么简单:

$config['log_threshold'] = 4;

$config['log_path'] = '/logs/';

【讨论】:

  • 您可以离开$config['log_path'] = '';,但必须存在文件夹application/logs/
  • 这存在我的朋友,log_path 也是空的,但没有任何工作:(
【解决方案3】:

打开 your_project_dir/application/config/config.php

在配置文件中你会发现 3 个默认变量

$config['log_threshold']=0; 
$config['log_path'] = ''; 
$config['log_file_extension'] = '';
  1. $config['log_threshold'] 接受数组 (1, 2, 3) 或单个整数 $config['log_path'] 接受日志文件的路径(如果将其保留为空白,将设置默认路径,默认路径将是 your_project_dir/application/logs/)。
  2. $config['log_file_extension'] 接受日志文件扩展名,即 html、txt 等(如果您保持为空,则默认扩展名将是 php)
  3. 确保您的日志路径可写。

错误状态已定义

your_project_dir/system/core/Log.php

protected $_levels = array('ERROR' => 1, 'DEBUG' => 2, 'INFO' => 3, 'ALL' => 4)

您必须分配数组,即错误和信息数组(1、2) 方法 log_message('', '') 接受 2 个参数。第一个参数是级别(即 ERROR 或 DEBUG 或 INFO 或 ALL),第二个参数是消息。

示例:

log_message('ERROR', 'Custom error here.');

记住 如果您指定,所有默认的 php 错误都将成为日志的一部分

$config['log_threshold']=array(1)

对于自定义日志:您必须在 your_project_dir/system/core/Log.php 中添加一个新数组元素 即

protected $_levels = array('ERROR' => 1, 'DEBUG' => 2, 'INFO' => 3, 'ALL' => 4, 'CUSTOM' => 5);

现在你可以调用方法了

log_message('CUSTOM', 'Custom message here.'); // This will put just your custom messages in log file

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-09
    • 2011-06-04
    • 2012-06-30
    • 2012-02-21
    • 2011-03-29
    • 2011-08-06
    • 1970-01-01
    • 2011-07-28
    相关资源
    最近更新 更多