Difference between revisions of "Error reporting"
m |
m (→Module Syslog) |
||
Line 15: | Line 15: | ||
= Module Syslog = | = Module Syslog = | ||
− | The error reporting module is integrated | + | The error reporting module is integrated with other Dolibarr modules. It allows you to configure what level of errors you would like to be reported and where. |
− | To get to the error reporting module configuration page, go to Home, Configuration, Modules and use the configuration icon of the last module on the screen: '' | + | To get to the error reporting module configuration page, go to Home, Configuration, Modules and use the configuration icon of the last module on the screen: ''Syslog''. |
− | Of course, this module (''' | + | Of course, this module ('''Syslog''') must be activated for the following to work. |
− | The '''facility''' option allows you to use pre-set facilities to log your errors. Facilities are a system-level feature to tell your syslog operator where this error comes from, to judge priority and all that. You can find more about this inside the PHP documentation for the ''openlog()'' function which is used inside the '' | + | The '''facility''' option allows you to use pre-set facilities to log your errors. Facilities are a system-level feature to tell your syslog operator where this error comes from, to judge priority and all that. You can find more about this inside the PHP documentation for the ''openlog()'' function which is used inside the ''dol_syslog()'' function: http://www.php.ne/openlog |
Really, you should leave it to '''LOG_USER''' unless you know exactly what you're doing. | Really, you should leave it to '''LOG_USER''' unless you know exactly what you're doing. | ||
Line 28: | Line 28: | ||
Generally, the '''file''' facility will work more easily because it doesn't depend on your server configuration (or only for the directory that needs to be writeable). | Generally, the '''file''' facility will work more easily because it doesn't depend on your server configuration (or only for the directory that needs to be writeable). | ||
− | Finally, the level of reporting is how many types of errors you want to report. LOG_DEBUG(7) is the strongest option, reporting pretty much everything that calls a | + | Finally, the level of reporting is how many types of errors you want to report. LOG_DEBUG(7) is the strongest option, reporting pretty much everything that calls a dol_syslog() function. LOG_EMERG(0) is the opposite, letting you see only the errors that would really block your system. |
On a typical Linux install, the logs will then be available somewhere in '''/var/log/apache[2]/[dolibarr]-error.log'''. You can watch it ''live'' from the terminal by using: | On a typical Linux install, the logs will then be available somewhere in '''/var/log/apache[2]/[dolibarr]-error.log'''. You can watch it ''live'' from the terminal by using: | ||
tail -f /var/log/apache2/dolibarr-error.log | tail -f /var/log/apache2/dolibarr-error.log |
Revision as of 10:59, 3 July 2009
Functions
Following function allows to log informations in Dolibarr log file
dol_syslog($message, LOG_DEBUG|LOG_INFO|LOG_WARNING|LOG_ERR);
The log level is related to setup defined in module Syslog (see lower).
Following function can be used to add error information on screen. Usage must be reserved in never reached code.
dol_print_error($db,texte);
Module Syslog
The error reporting module is integrated with other Dolibarr modules. It allows you to configure what level of errors you would like to be reported and where.
To get to the error reporting module configuration page, go to Home, Configuration, Modules and use the configuration icon of the last module on the screen: Syslog.
Of course, this module (Syslog) must be activated for the following to work.
The facility option allows you to use pre-set facilities to log your errors. Facilities are a system-level feature to tell your syslog operator where this error comes from, to judge priority and all that. You can find more about this inside the PHP documentation for the openlog() function which is used inside the dol_syslog() function: http://www.php.ne/openlog Really, you should leave it to LOG_USER unless you know exactly what you're doing.
The next option, file, allows you to choose a file in which you will store the logs. The path you will indicate there should be relative to the system root (/). If you live it as it is (default option dolibarr.log), it will likely be opened in several directories, depending on the directory you're executing the script from. Of course, to do that, your web server must have write permissions on the directory you are using.
Generally, the file facility will work more easily because it doesn't depend on your server configuration (or only for the directory that needs to be writeable).
Finally, the level of reporting is how many types of errors you want to report. LOG_DEBUG(7) is the strongest option, reporting pretty much everything that calls a dol_syslog() function. LOG_EMERG(0) is the opposite, letting you see only the errors that would really block your system.
On a typical Linux install, the logs will then be available somewhere in /var/log/apache[2]/[dolibarr]-error.log. You can watch it live from the terminal by using:
tail -f /var/log/apache2/dolibarr-error.log