Login to the Joomla 11 JLog platform

I play with the new Joomla 1.7 system, built on the Joomla 11 platform, and all my registration code from earlier versions of Joomla no longer works (they seem to write log entries, but with the wrong syntax, so the messages are empty).

Does anyone know the correct syntax for the new version of JLog? Here is my existing code -

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

This creates a log file, but the actual log entry is as follows:

#<?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   -

I searched Joomla documents and the Internet and did not find examples of how to use this class.

Thank!

+5
source share
2 answers

Yes, the log entry has changed a bit 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');
+8
source

@hbit .. , , .

.

<?php 
function logWrite($level, $values, $file='%s.php',$path='',$showOnTop=0,
   $option='',$component=''){
/****
jlog Joomla 3.4
created by:gundambison (2015.04.26). 
THX: hbit@stackoverflow
****/
    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
****/
?>

0

All Articles