2014-05-17 9 views
5

Al fine di creare log Magento, si potrebbe scrivere qualcosa di simileQual è il significato di null in Mage log (magento)?

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

Ma se dovessi aggiungere il registro in un file sepearate, devo

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

favore correggetemi se sbaglio .

Se sì, qual è l'utilizzo di null nel mezzo? Inoltre, il file deve esistere in anticipo o penso che sia stato creato dal sistema quando necessario. Ho ragione? Inoltre, includerà timestamp?

risposta

14

Vai a per app/Mage.php

linea 785

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

è possibile vedere il secondo paramete è di livello

$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 

se questo codice Mage::log('test', 1);

poi si ottiene un output in file di log come questo

2014-05-17T12:21:51+00:00 ALERT (1): test 

Sì, il file viene automaticamente creato dal sistema quando il suo invito

sistema includi il timestamp quando chiama lo

riferiscono questo codice in app/Mage.php in linea 825

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

Acclamazioni

+0

impressionante spiegazione. Grazie –

+0

@ Mark vedere la mia modifica anwser –