Islandora 7.x-1.0 (Beta)
This documentation refers to an earlier version of Islandora. https://wiki.duraspace.org/display/ISLANDORA/Start is current.
This section will show you how to access some of the basic error reporting functions for Drupal, Fedora, Apache, Tomcat, and Microservices. For specific troubleshooting on the installation process, check out Troubleshooting Installation.
Most components in the Islandora stack have their own log. This document will describe each of those logs: where they can be found; how to configure them; and what information they contain. Logs typically have "levels" which are used to determine what kinds and how much information should be placed in them. A general rule of thumb is that a log will support the following levels in order of the most information to the least:
When you encounter a problem or are doing development you should check that the log is configured to store as much information as possible.
Drupal core/modules often display Drupal, PHP, and SQL error messages to the end user in the browser as they happen. Often these messages will refer to a problem/action that occurred during the previous request. Most likely if you encounter a problem at this level, someone else has as well; its best to search google for relevant information. The issues are colour coded by seriousness, (red = error, yellow = warning, green = status/info).
Drupal also logs information to what it calls the 'watchdog'. The watchdog is essentially a database table, within the Drupal database. It contains messages generated by Drupal core/module code. You can view the 'watchdog' by visiting "http://yoursite/admin/reports/dblog" or by logging into your site, clicking the 'Reports' link in the admin bar (or navigating to http://URL.of.your.site/admin) and clicking 'Recent log entries' under 'Reports'. Errors are categorized by "type" which usually indicates which module generated the message.
You will see a list of recent log entries from various sources. Not all entries are errors - error messages will be marked with a red 'X'.
Clicking on a message description will give you a detailed summary of the error. You can use this information to troubleshoot a problem yourself, or to provide more detail to a technical support contact.
Check the watchdog frequently even when the site is working correctly. Many non-fatal issues will be logged to the watchdog. Be proactive! Check the watchdog when:
Sometimes when working on a problem its useful to export the logs into a shareable format so that others in the community can help troubleshoot the problem. There are several ways to do this. If you have Drush installed you can dump the table like so:
Or you render the logs to a file:
For more options to ws, use “drush help ws”. Since using “drush ws” doesn’t provide all the information in the watchdog its recommended that you use “drush sql-dump” for sharing.
You can import a dump watchdog log like so:
This will remove your local watchdog so be careful!
Fedora error reporting can be access via the command line (assuming you have the right permissions). Start by opening a Terminal window and type the following:
You will then be prompted for your password.
Navigate to your Fedora logs directory; for example:
From here you can type 'ls' to view a list of files in the directory.
You can view a log file in various ways; for example:
This will print the log to the screen. You can use this information to troubleshoot a problem yourself (depending on your level of Fedora knowledge), or to provide more detail to a technical support contact.
There are several log files kept by Fedora they are kept in several different directories. Information generated from the "$FEDORA_HOME/client/bin" scripts is logged to "$FEDORA_HOME/client/logs"; typically you won't need to review these logs. The bulk of interesting information is stored in "$FEDORA_HOME/server/logs". Here you will find fedora.log, fesl.log, and sometimes fedoragsearch.log, and djatoka.log depending on how GSearch and Adore-Djatoka are configured.
You can configure the various logs in Fedora by modifying "$FEDORA_HOME/server/config/logback.xml". Typically there are two log files fedora.log, and fesl.log configured for the loggers "fcrepo", "jaas", "xacml". You can set the log levels for any of the defined loggers by changing the @level attribute to either (DEBUG, INFO, WARN, ERROR, FATAL). You can create separate log files for any of the defined loggers by defining a new appender, and setting the logger's appender-ref @ref attribute.
Fedora uses SLF4J with Logback in more recent versions, prior to version 3.4 Fedora used Log4J, which is still used in GSearch. For a full list of configuration options refer to each of those projects documentation.
fedoragsearch.log can be configured before building with ant, or via the configuration file "$CATALINA_HOME/webapps/fedoragsearch/WEB-INF/classes/log4j.xml" can be modified after GSearch has been configured.
Set the output of fedoragsearch for versions of gsearch prior to 2.3:
Set the output of fedoragsearch for versions of gsearch 2.3 or later:
Set the level of output (DEBUG, INFO, WARN, ERROR, FATAL) for versions of gsearch prior to 2.3 append LEVELG to the selected level, for search 2.3 and later only use the level:
Include SOLR logs in the fedoragsearch.log. Set the level of output (DEBUG, INFO, WARN, ERROR, FATAL) for versions of gsearch prior to 2.3 append LEVELS:
You can define more than one appender to separate out the various logs in log4j.xml. Or you can modify the tomcat logs as is demonstrated below.
djatoka.log can be configured in “$CATALINA_HOME/webapps/adore-djatoka/WEB-INF/classes/log4j.properties”. While djatoka still uses log4j, it has a properties file rather than an xml file, so configuring it is slightly different.
Here is an example “log4j.properties” the directory and level information is bolded:
The location of the apache error log and what other logs (access, etc) are available will depend on your operating system, apache version, and apache settings. The error log will contain any problems that occurred while processing a request. Errors generated by PHP code that are not caught by Drupal will usually be logged here. The access log will typically contain requests made to apache and if apache denied them access.
Here are some typical locations for the log files:
Check these logs when:
To customize the output of the apache logs (Set the log level, etc) follow the instructions provided here: (http://httpd.apache.org/docs/1.3/logs.html) Any changes to the configuration of Apache require that Apache be restarted.
The Apache Tomcat logs may also be useful in diagnosing problems. You can access these logs by navigating to your Tomcat logs directory; for example:
The most relevant log file in this directory is catalina.out. As with fedora.log, you can view this file in various ways; for example:
Tomcat logs are typically found in "$CATALINA_HOME/logs". Tomcat logs can be configured in "$CATALINA_HOME/conf/logging.properties", for in-depth information on configuring the logging done by Tomcat, and various webapps consult (http://tomcat.apache.org/tomcat-6.0-doc/logging.html).
Separate SOLR logs into a different file then fedoragsearch.log. Modify the handlers and add the information for the SOLR file handler:
Logging can be configured by modifying islandora_listener.cfg in the Micro-services home directory typically "/opt/islandora_microservices/islandora_listener.cfg".
The level and output file and size of log can be set like so: