在Mage log(magento)中null的含义是什么?

时间:2014-05-17 11:31:26

标签: magento logging

为了创建Magento日志,可以编写类似

的内容
 Mage::log('Server Side Validation kicked in for Year for '.$currentYearType);

但如果我要在一个单独的文件中添加日志,那么我

Mage::log('Server Side Validation kicked in for Year for ' ,null,'serversidevalidation.log');

如果我错了,请纠正我。

如果是这样,中间使用null是什么意思? 此外,文件是否需要事先存在,或者我认为它是在需要时由系统创建的。我对吗?此外,它还包括时间戳吗?

1 个答案:

答案 0 :(得分:15)

转到app/Mage.php

第785行

public static function log($message, $level = null, $file = '', $forceLog = false) 

你可以看到第二个参数是水平

$level  = is_null($level) ? Zend_Log::DEBUG : $level;

<强> LIB \ Zend的\ log.php

const EMERG   = 0;  // Emergency: system is unusable
const ALERT   = 1;  // Alert: action must be taken immediately
const CRIT    = 2;  // Critical: critical conditions
const ERR     = 3;  // Error: error conditions
const WARN    = 4;  // Warning: warning conditions
const NOTICE  = 5;  // Notice: normal but significant condition
const INFO    = 6;  // Informational: informational messages
const DEBUG   = 7;  // Debug: debug messages

如果您使用此代码Mage::log('test', 1);

然后你就像这样

在日志文件中得到一个输出
2014-05-17T12:21:51+00:00 ALERT (1): test
  

是的,系统会在调用

时自动创建该文件      

系统包含调用时的时间戳

在第825行的app/Mage.php中引用此代码

 $format = '%timestamp% %priorityName% (%priority%): %message%' . PHP_EOL;
 $formatter = new Zend_Log_Formatter_Simple($format);

干杯