2011-09-28 13 views
5

Sto giocando con il nuovo sistema Joomla 1.7 costruito sulla piattaforma Joomla 11-- e tutto il mio codice di registrazione dalle versioni precedenti di Joomla non funziona più (sembrano scrivere voci di registro ma con sintassi impropria, quindi i messaggi sono vuoti).Accesso alla piattaforma Joomla 11 JLog

Qualcuno conosce la sintassi corretta per la nuova versione di JLog? Ecco il mio attuale code--

$log = &JLog::getInstance('test.log.php'); 
$log->addEntry(array('COMMENT' => 'A test Logging message')); 

Ciò crea il file di registro, ma la voce di registro attuale assomiglia a questo:

#<?php die('Forbidden.'); ?> 
#Date: 2011-08-08 16:59:42 UTC 
#Software: Joomla Platform 11.1 Stable+Modified [ Ember ] 01-Jun-2011 06:00 GMT 

#Fields: date time priority clientip category message 
2011-08-08 16:59:42 INFO 127.0.0.1 - 

Ho cercato la documentazione Joomla e il web e non ha trovato esempi di come usare questa classe.

Grazie!

+0

per chi cerca queste informazioni, sembra che hanno mantenuto le existi ng Joomla 1.5 funzioni di registrazione per retrocompatibilità. Tuttavia, per qualche motivo le maiuscole "COMMENTO" non funzionano più - devi usare "commento" – julio

risposta

8

Sì, la registrazione ha cambiato un po 'anzi in Joomla 1.7:

// Include the JLog class. 
jimport('joomla.log.log'); 

// Add the logger. 
JLog::addLogger(
    // Pass an array of configuration options 
    array(
      // Set the name of the log file 
      'text_file' => 'test.log.php', 
      // (optional) you can change the directory 
      'text_file_path' => 'somewhere/logs' 
    ) 
); 

// start logging... 
JLog::add('Starting to log'); 
+0

@ hbit-- grazie! questo è esattamente ciò di cui avevo bisogno. – julio

0

@hbit thx un lot..I fisso come questo e farlo funzionare ..

ma ho creato in funzione ..

<?php 
function logWrite($level, $values, $file='%s.php',$path='',$showOnTop=0, 
    $option='',$component=''){ 
/**** 
jlog Joomla 3.4 
created by:gundambison (2015.04.26). 
THX: [email protected] 
****/ 
    jimport('joomla.log.log'); 
    $level=strtoupper($level); 
//You can change this com_name 
    $component= $component==''? 'com_gundambison': $component; 
    $date= date("Ymd"); 
    $filename= sprintf($file, $date); 
    $format= $option=='' ?"{TIME}\t{CLIENTIP}\t{CATEGORY}\t{MESSAGE}": $option; 

// create options and text 
    $txt = is_array($values)? json_encode($values): $values; 
    $options = array('text_file' => $filename,'text_entry_format'=>$format); 
    $options['text_file_path']=$path==''?'logs': $path; 
    JLog::addLogger ($options); 
/* 
if you want the error to show in your page. 
*/ 
    if($showOnTop==1){ 
     JLog::add("$level\t$txt"); 
    }else{ 
     JLog::add("$level\t$txt",$level,$component); 
    } 
} 
/**** 
result: 
    14:28:39 ::1 com_whatever ALERT task:error 
****/ 
?> 

Sperare questo aiuto