Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Should (if we can) assimilate some of the information from the lists. When we hear a tip it should go here.

 

 

This section will show you how to access some of the basic error reporting functions in both Drupal and Fedora. 

 

for Drupal, Fedora, Apache, Tomcat, and Microservices. 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:

...

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. 
Image Removed Image Added

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:

...

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:

Code Block
ssh username@ip.address.of.server

You will then be prompted for your password.

...

Navigate to your Fedora logs directory; for example:

Code Block
cd /usr/local/fedora/server/logs

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:

Code Block
less fedora.log

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:

Code Block
<appender name="FILEOUT" class="org.apache.log4j.FileAppender">

<param name="File" value="/usr/local/fedora/server/logs/fedoragsearch.log">

...

</appender>

Set the output of fedoragsearch for versions of gsearch 2.3 or later:

Code Block
<appender name="FILEOUT" class="org.apache.log4j.DailyRollingFileAppender">

<param name="File" value="/usr/local/fedora/server/logs/fedoragsearch.daily.log"/>

...

</appender>

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:

Code Block
<logger name="dk.defxws.fedoragsearch" additivity="false">

<level value="DEBUGLEVELG" />

<appender-ref ref="FILEOUT"/>

</logger>

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:

Code Block
<logger name="dk.defxws.fgssolr" additivity="false">
<level value="DEBUGLEVELS" />
<appender-ref ref="FILEOUT"/>
</logger>

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:

Panel

# REPORTING LEVELS: OFF, DEBUG, INFO, WARN, ERROR and FATAL
log.dir=/usr/local/fedora/server/logs/
datestamp=yyyy-MM-dd/HH:mm:ss.SSS/zzz

...

roll.pattern.hourly=.yyyy-MM-dd.HH
roll.pattern.daily=.yyyy-MM-dd


#djatoka.log -- Default catch-all.
log4j.rootLogger=DEBUG, defaultLog
log4j.appender.defaultLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.defaultLog.DatePattern=${roll.pattern.daily}
log4j.appender.defaultLog.File=${log.dir}/djatoka.log
log4j.appender.defaultLog.layout=org.apache.log4j.PatternLayout
log4j.appender.defaultLog.layout.ConversionPattern=%d{${datestamp}} [%t] %-5p %m%n

 

Apache Logs

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.

...

Code Block
less catalina.out

Tomcat Logs

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:

Code Block
handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler,
3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler,
5localhost.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
...
5localhost.org.apache.juli.FileHandler.level = WARNING
5localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
5localhost.org.apache.juli.FileHandler.prefix = solr.
...
org.apache.solr.level=INFO
org.apache.solr.handlers=5localhost.org.apache.juli.FileHandler

Microservices

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:

 

Code Block
[Logging]

file: islandora_listener.log

;Supported levels are DEBUG, INFO, WARNING, ERROR, CRITICAL

level: DEBUG

; The maximum log size in bytes before a log rotation

; a setting of zero means never rotate

max_size: 10485760

; number of backup logs to keep

backup: 5