Actions

Difference between revisions of "Using JLog"

From Joomla! Documentation

m (Change platform requirements again)
(Basic File Logging: fixes copy&paste error ('jerror' was still a parameter in the function call, while the text above stated that it wasn't))
(4 intermediate revisions by one user not shown)
Line 1: Line 1:
{{version|1.7,2.5,3.0|platform=11.1,11.4,12.1}}
+
{{version|2.5,3.1|platform=11.1}}{{RightTOC}}
Using JLog can be very useful in components when analysing the performance of custom extensions - or analysing where extensions are giving issues. Note this should be used in tandem with php exceptions - not as a replacement. [[See Exceptions and Logging in Joomla 1.7 and Joomla Platform 11.1]] for more information on this
+
Using JLog can be very useful in components when analysing the performance of custom extensions - or analysing where extensions are giving issues. Note this should be used in tandem with php exceptions - not as a replacement. See [[Exceptions and Logging in Joomla 1.7 and Joomla Platform 11.1]] for more information on this
  
== Call the class ==
+
== Calling the class ==
  
 
To use JLog you need to call the JLog class. Done through the following code:
 
To use JLog you need to call the JLog class. Done through the following code:
Line 16: Line 16:
 
Adding the category of jerror means that this message will also be displayed to users. To only write to file you can easily drop that parameter and simply use  
 
Adding the category of jerror means that this message will also be displayed to users. To only write to file you can easily drop that parameter and simply use  
  
     JLog::add(JText::_('JTEXT_ERROR_MESSAGE'), JLog::WARNING, 'jerror');
+
     JLog::add(JText::_('JTEXT_ERROR_MESSAGE'), JLog::WARNING);
  
== More Complex Examples ==
+
== Logging a specific extension ==
 
Sometimes it may be useful to log the errors to a specific file. In this case you can  
 
Sometimes it may be useful to log the errors to a specific file. In this case you can  
  

Revision as of 02:22, 22 June 2013

Contents

Using JLog can be very useful in components when analysing the performance of custom extensions - or analysing where extensions are giving issues. Note this should be used in tandem with php exceptions - not as a replacement. See Exceptions and Logging in Joomla 1.7 and Joomla Platform 11.1 for more information on this

Calling the class

To use JLog you need to call the JLog class. Done through the following code:

   jimport('joomla.log.log');

Basic File Logging

Often you may wish to display an error log message and log to an error file. Joomla allows this natively through the JLog::add function. For example:

   JLog::add(JText::_('JTEXT_ERROR_MESSAGE'), JLog::WARNING, 'jerror');

Adding the category of jerror means that this message will also be displayed to users. To only write to file you can easily drop that parameter and simply use

   JLog::add(JText::_('JTEXT_ERROR_MESSAGE'), JLog::WARNING);

Logging a specific extension

Sometimes it may be useful to log the errors to a specific file. In this case you can

   JLog::addLogger(
       array(
            //Sets file name
            'text_file' => 'com_helloworld.errors.php'
       ),
       //Sets all JLog messages to be set to the file
       JLog::ALL,
       //Chooses a category name
       'com_helloworld'
   );

Now remember to change the category when you add a log. Such as in the example below.

   JLog::add(JText::_('JTEXT_ERROR_MESSAGE'), JLog::WARNING, 'com_helloworld');

Note you may wish to combine this with the Display error messages and notices section to display visable error notifications to users.