法师日志(magento)中null的含义是什么?

法师日志(magento)中null的含义是什么?,magento,logging,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'); 如果我错了,请纠正我 如果是,在中间使用零是什么

为了创建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');
如果我错了,请纠正我

如果是,在中间使用零是什么?


此外,文件是否需要提前存在,或者我认为它是由系统在需要时创建的。我说得对吗?另外,它会包括时间戳吗?

转到
app/Mage.php

第785行

public static function log($message, $level = null, $file = '', $forceLog = false) 
您可以看到第二个参数是level

$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);

干杯

精彩的解释。谢谢