Difference between revisions of "Using JLog"

From Joomla! Documentation

m (Fix Broken Link)
(Remove 1.6 and 1.7 tags)
(2 intermediate revisions by the same 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 18: Line 18:
 
     JLog::add(JText::_('JTEXT_ERROR_MESSAGE'), JLog::WARNING, 'jerror');
 
     JLog::add(JText::_('JTEXT_ERROR_MESSAGE'), JLog::WARNING, 'jerror');
  
== 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 18:36, 29 April 2013

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[edit]

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

   jimport('joomla.log.log');

Basic File Logging[edit]

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, 'jerror');

Logging a specific extension[edit]

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.