Difference between revisions of "Using JLog"
From Joomla! Documentation
(→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)) |
|||
Line 37: | Line 37: | ||
Note you may wish to combine this with the [[Display error messages and notices]] section to display visable error notifications to users. | Note you may wish to combine this with the [[Display error messages and notices]] section to display visable error notifications to users. | ||
+ | |||
+ | == Logging specific priorities == | ||
+ | |||
+ | You can also add an additional logger to capture only critical and emergency log notifications. | ||
+ | |||
+ | JLog::addLogger( | ||
+ | array( | ||
+ | //Sets file name | ||
+ | 'text_file' => 'com_helloworld.critical_emergency.php' | ||
+ | ), | ||
+ | //Sets critical and emergency JLog messages to be set to the file | ||
+ | JLog::CRITICAL + JLog::EMERGENCY, | ||
+ | //Chooses a category name | ||
+ | 'com_helloworld' | ||
+ | ); | ||
+ | |||
+ | |||
[[Category:Development]] | [[Category:Development]] |
Revision as of 05:38, 4 September 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);
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.
Logging specific priorities[edit]
You can also add an additional logger to capture only critical and emergency log notifications.
JLog::addLogger( array( //Sets file name 'text_file' => 'com_helloworld.critical_emergency.php' ), //Sets critical and emergency JLog messages to be set to the file JLog::CRITICAL + JLog::EMERGENCY, //Chooses a category name 'com_helloworld' );