Tutorial: Using JHOVE

1 Introduction

JHOVE (pronounced "jove"), the JSTOR/Harvard Object Validation Environment, is an extensible software framework for performing format identification, validation, and characterization of digital objects.

Identification, validation, and characterization actions are frequently necessary during routine operation of digital repositories and for digital preservation activities.

The output from JHOVE is controlled by output handlers. JHOVE uses an extensible plug-in architecture; it can be configured at the time of its invocation to include whatever specific format modules and output handlers that are desired. The initial release of JHOVE includes modules for arbitrary byte streams, ASCII and UTF-8 encoded text, TIFF, HTML, XML, JPEG, JPEG2000, and PDF, AIFF and WAVE audio; and text and XML output handlers.

The JHOVE project was a collaboration of JSTOR and the Harvard University Library.

2 Getting JHOVE

2.1 Requirements

JHOVE is written in Java to conform to Java 2 Platform, Standard Edition (J2SE) 1.5. A J2SE 1.5-compliant Java Runtime Environment (JRE) is required for proper operation of JHOVE. JHOVE should be usable on any Unix, Windows, or OS X platform with the appropriate J2SE installation.

If you would like to recompile the JHOVE source code, then Apache Ant is necessary. Note that the JAVA_HOME environment variable must be appropriately assigned for Ant to function properly. (JHOVE was implemented and tested using ANT 1.5.1.)

2.2 Distribution

JHOVE releases is distributed as gzip'ed tar files or ZIP files available from the JHOVE SourceForge site. When uncompressed and disaggregated, these result in the following installation directory structure:

jhove/                                 # JHOVE home directory
       COPYING                         # GNU Lesser General Public License (LGPL)
       LICENSE                         # JHOVE license information
       README
       RELEASENOTES                    # JHOVE release notes
       bin/
                 jhove.jar             # JHOVE API package
                 jhove-handler.jar     # Standard output handler package
                 jhove-module.jar      # Standard module package
                 JhoveApp.jar          # JHOVE command-line application
                 JhoveView.jar         # JHOVE with Swing GUI front-end
       build.xml                       # Ant configuration file
       classes/
                 build.xml             # Ant configuration file
                 edu/ ...              # JHOVE API packages
                 Jhove.*               # JHOVE main class
                 ADump.*               # AIFF dump utility class
                 GDump.*               # GIF dump utility class
                 JDump.*               # JPEG dump utility class
                 J2Dump.*              # JPEG2000 dump utility class
                 PDump.*               # PDF dump utility class
                 TDump.*               # TIFF dump utility class
                 WDump.*               # WAVE dump utility class

       conf/
                 jhove.conf            # JHOVE configuration file
       doc/
                 *.html                # API documentation
                 ...
       examples/                       # Sample files
                 ascii/ ...
                 pdf/   ...
                 tiff/  ...
                 utf-8/ ...
       adump*                          # AIFF dump Bourne shell driver script
       adump.bat*                      # AIFF dump Windows shell driver script
       gdump*                          # GIF dump Bourne shell driver script
       gdump.bat*                      # GIF dump Windows shell driver script
       jdump*                          # JPEG dump Bourne shell driver script
       jdump.bat*                      # JPEG dump Windows shell driver script
       j2dump*                         # JPEG 2000 dump Bourne shell driver
       j2dump.bat*                     # JPEG 2000 dump Windows shell driver script
       pdump*                          # PDF dump Bourne shell driver script
       pdump.bat*                      # PDF dump Windows shell driver script
       tdump*                          # TIFF dump Bourne shell driver script
       tdump.bat*                      # PDF dump Windows shell driver script
       pdump*                          # WAVE dump Bourne shell driver script
       pdump.bat*                      # WAVE dump Windows shell driver script

The following jar files are meant to be used for embedding JHOVE functionality into new applications or systems:

jhove.jar Contains the JHOVE API interfaces and classes
jhove-handler.jar Contains the standard JHOVE output handlers
jhove-module.jar Contains the standard JHOVE modules
The following jar file is meant to be used with the stand-alone JHOVE application using a command-line interface. It contains the main Jhove class and the contents of jhove.jar, jhove-handler, and jhove-module.jar:
JhoveApp.jar
The following jar file is meant to be used with the stand-alone JHOVE application using a Swing GUI interface. It contains the main JhoveView class and the contents of jhove.jar, jhove-handler, and jhove-module.jar:
JhoveView.jar

2.3 Installation

For proper operation, the <jhoveHome> element in the configuration file, jhove/conf/jhove.conf, must be edited to point to the absolute pathname of the JHOVE installation, or home, directory and the temporary directory (in which temporary files are created):

<jhoveHome>jhove-home-directory</jhoveHome>
<tempDirectory>temporary-directory</tempDirectory>

The JHOVE home directory is the top-most directory in the distribution TAR or ZIP file. On Unix systems, /var/tmp is an appropriate temporary directory; on Windows, C:\Temp. For example, if the distribution TAR file is disaggregated on a Unix system in the directory "/users/stephen/ projects", then the configuration file should read:

<jhoveHome>/users/stephen/projects/jhove</jhoveHome>
<tempDirectory>/var/tmp</jhoveHome>

In the JHOVE home directory, copy the JHOVE Bourne shell driver script template, "jhove.tmpl", to "jhove" (or the equivalent Windows shell script, "jhove_bat.tmpl" to "jhove.bat"), and set the JHOVE home directory, Java home directory, and Java interpreter:

JHOVE_HOME=jhove-home-directory
JAVA_HOME=java-home-directory
JAVA=java-interpreter
where JHOVE_HOME is set to specify the absolute pathname of the JHOVE home directory; JAVA_HOME is set to specify the absolute pathname of the Java home directory; and JAVA is set to specify the absolute pathname of the Java interpreter. For example:

JHOVE_HOME=/users/[username]/projects/jhove
JAVA_HOME=/usr/local/java/jdk1.6.0_20-32
JAVA=$JAVA_HOME/bin/java

In the Windows shell driver script, "jhove.bat", the equivalent three variables are:

SET JHOVE_HOME=jhove-home-directory
SET JAVA_HOME=java-home-directory
SET JAVA=%JAVA_HOME%\bin\java

For example:

SET JHOVE_HOME="C:\Program Files\jhove"
SET JAVA_HOME="C:\Program Files\java\jdk1.6.0_20-32"
SET JAVA=%JAVA_HOME%\bin\java

The quotation marks are necessary because of the embedded space characters. On Windows platforms it may also be necessary to add the Java bin subdirectory to the System PATH environment variable:

PATH=C:\Program Files\java\jdk1.6.0_20-32\bin;...
Specific instructions on installing JHOVE in a Windows XP environment are available. For additional information on setting a Windows environment variable, consult your local documentation or system administrator.

Starting with version 1.8, it is no longer necessary to specify JAVA_HOME or JAVA in the Linux/Unix shell script, and starting with 1.9, it is no longer necessary to specify it in the Windows batch file.

3 Configuring JHOVE

At the time of its invocation, JHOVE performs dynamic configuration of its modules and output handlers based on a XML-formatted configuration file. The configuration file is specified by the first valid value defined as:

  1. The -c config command line argument (only for the command-line interface);
  2. The file ${user.home}/jhove/conf/jhove.conf, where ${user.home} is the standard Java user.home property; or
  3. The edu.harvard.hul.ois.jhove.config property in the properties file ${user.home}/jhove/jhove.properties.

Here are some typical "user.home" locations for various operating systems with the default Java configuration:

Windows XP: C:\Documents and Settings\{username}
Windows Vista and 7: C:\Users\{username} or perhaps C:\{username}
Macintosh OS X: /Users/{username}
Unix: ~/

Note that the GUI interface only searches for the configuration file at the second and third locations listed above; it does not make use of the -c config option.

All format modules and output handlers must be specified in the XML-formatted configuration file, validatable against the XML Schema <http://hul.harvard.edu/ois/xml/xsd/jhove/jhoveConfig.xsd>. (In the following display, brackets [ and ] enclose optional configuration file elements.)

<?xml version="1.0"?>
<jhoveConfig version="1.0"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://hul.harvard.edu/ois/xml/ns/jhove/jhoveConfig"
 xsi:schemaLocation="http://hul.harvard.edu/ois/xml/ns/jhove/jhoveConfig
                     http://hul.harvard.edu/ois/xml/xsd/jhove/jhoveConfig.xsd">
  <jhoveHome>jhove-home-directory</jhoveHome>
[ <defaultEncoding>encoding</defaultEncoding> ]
[ <tempDirectory>directory</tempDirectory> ]
[ <bufferSize>buffer</bufferSize> ]
[ <mixVersion>version</mixVersion> ]
[ <sigBytes>n</sigBytes> ]
  <module>
    <class>module-class-name</class>
  [ <init>optional-module-init-argument</init> ]
  [ <param>optional-module-parameter</param> ]
    ...
  </module>
  ...
  <outputHandler>
    <class>output-handler-class-name</class>
  </outputHandler>
  ...
[ <logLevel>logging-level</logLevel> ]
</jhoveConfig>

The optional <defaultEncoding> element specifies the default character encoding used by output handlers. This option can also be specified by the -e encoding command line argument. The default output encoding is UTF-8.

The optional <tempDirectory> element specifies the pathname of the directory in which temporary files are created. This option can also be specified by the -t directory command line argument. On most Unix systems, a reasonable temporary directory is "/var/tmp"; on Windows, "C:\temp".

The optional <bufferSize> element specifies the buffer size use for buffered I/O. This option can also be specified by the -b buffer command line argument.

The optional <mixVersion> element specifies the MIX schema version conformance for the output produced by the XML output handler. By default the handler output conforms to version 2.0 of the schema. For version 1.0 conformance, specify:

<mixVersion>1.0<mixVersion>

The optional <sigBytes> element specifies the maximum number of byte that JHOVE modules will examine looking for an internal signature (or magic number). The default value is 1024.

The optional <logLevel> element specifies the logging level, used by calls to the logging API. This option can also be specified by the -l log-level command line argument. The default is SEVERE.

All class names must be fully qualified with their package name, for example:

edu.harvard.hul.ois.jhove.module.AsciiModule
edu.harvard.hul.ois.jhove.module.PdfModule
edu.harvard.hul.ois.jhove.module.TiffModule
edu.harvard.hul.ois.jhove.module.Utf8Module

The order in which format modules are defined is important; when performing a format identification operation, JHOVE will search for a matching module in the order in which the modules are defined in the configuration file. In general, the modules for more generic formats should come later in the list. For example, the standard module ASCII should be defined before the UTF-8 module, since all ASCII objects are, by definition, UTF-8 objects, but not vice versa.

The optional <init> element is used to pass a module-specific argument to a module at the time it is first instantiated within JHOVE. See the details for the individual modules to see if such an argument is defined. The use of the <init> argument is currently not defined for any of the standard JHOVE modules.

The optional and repeatable <param> element is used to pass a module-specific parameter to a module immediately prior to each invocation of the module's parse() method. See the details for the individual modules to see if such a parameter is defined.

In addition to the modules and output handlers specified in the configuration file, JHOVE is also always statically linked with the standard Bytestream module and Text and XML output handlers.

4 Invoking JHOVE

The JHOVE command-line interface is invoked by the Bourne shell script "jhove" (under Unix) or the Windows shell script "jhove.bat" (under Windows) in the JHOVE installation directory. This script properly sets the Java CLASSPATH and executes the Jhove class with the Java interpreter.

In the invocation syntax below, brackets [ and ] enclose optional arguments. In addition to the syntax specified in subsequent sections, any of the following standard options can also be used:

... [-c config] [-h handler] [-e encoding] [-o output] [-x sax-class] [-t directory] [-b buffer] [-l loglevel]...
where
-c config  specifies the pathname of the configuration file;
-m module specifies the format module (defaults to checking all modules);
-h handler specifies the output handler (defaults to TEXT, the standard Text handler);
-e encoding specifies the character encoding used by the output handler (defaults to UTF-8);
-o output specifies the output file pathname (defaults to standard output);
-x sax-class specifies the SAX parser class name (defaults to the J2SE default);
-t directory specifies the pathname of the directory in which temporary files are created (defaults to the current working directory); and
-b buffer specifies the buffer size used for buffered I/O (defaults to the J2SE default).
-l loglevel specifies the logging level (defaults to SEVERE).

Note that the temporary directory and buffer size and logging level can also be specified in the configuration file.

4.1 Format Identification

The following syntax is used to discover, or identify, the format of a digital object.

jhove ... [-ks] file-or-uri1 .. file-or-uriN

where the first ellipsis ... is a placeholder for any of the optional standard options defined above.

The digital object(s) can be specified as a file or directory pathname or as a URI. If a directory is specified, JHOVE will recursively walk through the directory. The optional -s flag specified that the identification should be performed solely on the basis of the internal signatures (e.g., magic numbers) associated with the formats, rather than by a complete parsing of the object. After the object's format has been identified, its representation information is displayed. The optional -k flag specifies that object checksum values should be calculated and displayed as part of the representation information.

If the file or URI contains spaces, then it must be enclosed in quotation marks, e.g.,

jhove ... "name with spaces"

If running in a Unix/Linux shell, the quotation marks must be escaped with backslashes, e.g.,

jhove ... \"name with spaces\"

This is clunky but unavoidable, because of the way Java processes command line input. Backslash-quoting the spaces doesn't work. The backslashes should be omitted with the Windows command line.

4.2 Format Validation/Characterization

The following syntax is used to determine the validity of a digital object with respect to a particular format, and to display format-specific representation information.

jhove ... -m module [-kr] file-or-uri

where the ellipsis ... is a placeholder for any of the optional standard options defined above.

Many formats use numeric flags to specify format properties. By default, JHOVE will translate these numeric values into descriptive strings. For example, the TIFF compression value 2 corresponds to "CCITT Group 3 RLE". The optional -r flag specifies that the "raw" data values should be displayed, not the text labels. The optional -k flag specifies that object checksum values should be calculated and displayed as part of the representation information.

The class file implementing the named module must be found on the Java CLASSPATH at the time of invocation. Note that JHOVE recognizes module names in a case-insensitive manner: "ASCII-hul" and "ascii-hul" both specify the standard ASCII module.

4.3 JHOVE Descriptive Information

The following syntax options display descriptive information about various components of JHOVE.

jhove ...
jhove ... -m module
jhove ... -H output-handler

where the ellipsis ... is a placeholder for any of the optional standard options defined above.

The first invocation option will display descriptive information about JHOVE itself, including a list of all loaded modules and output handlers. The second option will display descriptive information about the named module. The third option will display descriptive information about the named output handler.

The class file implementing the named module or output handler must be found on the Java CLASSPATH at the time of invocation. Note that JHOVE recognizes modules and output handler names in a case-insensitive manner: "ASCII-hul" and "ascii-hul" both specify the standard ASCII module.

5 JHOVE GUI Interface

The JHOVE Swing-based GUI interface is invoked from a command shell:

java -jar bin/JhoveView.jar
or by the appropriate mouse click behavior defined by the windowing system.

The menu options are:

File
Open file... Select file (equivalent to command line option: jhove ... file-or-uri)
Open URL... Select URI (jhove ... file-or-uri)
Close all document windows Close all open document windows
Exit Terminate JHOVE
Edit
Selectmodule Select JHOVE module
(Any)
AIFF-hul Select AIFF module (jhove ... -m aiff-hul ...)
ASCII-hul Select ASCII module (jhove ... -m ascii-hul ...)
BYTESTREAM Select BYTESTREAM module (jhove ... -m bytestream ...)
GIF-hul Select GIF module (jhove ... -m gif-hul ...)
HTML-hul Select HTML module (jhove ... -m html-hul ...)
JPEG-hul Select JPEG module (jhove ... -m jpeg-hul ...)
JPEG2000-hul Select JPEG 2000 module (jhove ... -m jpeg2000-hul ...)
PDF-hul Select PDF module (jhove ... -m pdf-hul ...)
TIFF-hul Select TIFF module (jhove ... -m tiff-hul ...)
UTF8-hul Select UTF-8 module (jhove ... -m utf8-hul ...)
WAVE-hul Select WAVE module (jhove ... -m wave-hul ...)
XML-hul Select XML module (jhove ... -m xml-hul ...)
Edit configuration... Edit configuration file
Preferences... Set preferences (jhove ... [-kr] ...)
Help
About module... Display module descriptive information (jhove ... -m module)
About Jhove... Display JHOVE descriptive information (jhove)

6 Standard Modules

The initial JHOVE distribution includes the following standard modules.

6.1 AIFF-hul Module

The AIFF-hul module recognizes and validates the following public profiles:

The AIFF-hul module is invoked by the following command line option:

jhove ... -m aiff-hul ...

(Recall that JHOVE module names can be specified in a case-insensitive manner.)

AIFF representation information is formatted by the output handlers consistent with the proposed AES-X098B, Core audio metadata XML definition, currently under development by the Audio Engineering Society (AES) SC-03-06 Working Group on Digital Library and Archive Systems. Additional representation information includes the audio technical properties of all chunks.

6.2 ASCII-hul Module

Only digital objects consisting entirely of properly ASCII-encoded text (with byte values between 0x00 and 0x7F [ISO/IEC 646], ANSI X3.4, ECMA-6]) are well-formed and valid with respect to the ASCII-hul module.

The module is invoked by the following command line option:

jhove ... -m ascii-hul ...

(Recall that JHOVE module names can be specified in a case-insensitive manner.)

In addition to the standard representation information, the ASCII module includes the line endings used in the digital object: CR, LF, or CRLF.

6.3 BYTESTREAM Module

By definition, all digital objects are always well-formed and valid with respect to the BYTESTREAM module.

The module is invoked by the following command line option:

jhove ... -m bytestream ...

(Recall that JHOVE module names can be specified in a case-insensitive manner.)

Regardless of the configuration options, JHOVE always statically loads the BYTESTREAM module.

6.4 GIF-hul Module

The GIF-hul module recognizes and validates the following public profiles:

The GIF-hul module is invoked by the following command line option:

jhove ... -m gif-hul ...

(Recall that JHOVE module names can be specified in a case-insensitive manner.)

GIF representation information is formatted by the output handlers consistent with the NISO image metadata [NISO Z39.87].

6.5 JPEG-hul Module

The JPEG-hul module recognizes the following public profiles:

The JPEG-hul module is invoked by the following command line option:

jhove ... -m jpeg-hul ...

(Recall that JHOVE module names can be specified in a case-insensitive manner.)

JPEG representation information is formatted by the output handlers consistent with the NISO image metadata [NISO Z39.87].

6.6 JPEG2000-hul Module

The JPEG2000-hul module recognizes the following public profiles:

The JPEG2000-hul module is invoked by the following command line option:

jhove ... -m jpeg2000-hul ...

(Recall that JHOVE module names can be specified in a case-insensitive manner.)

JPEG representation information is formatted by the output handlers consistent with the NISO image metadata [NISO Z39.87]. Additional representation information includes the image technical properties of all boxes.

6.7 PDF-hul Module

The PDF-hul module recognizes and validates the following public profiles:

The PDF-hul module is invoked by the following command line option:

jhove ... -m pdf-hul ...

(Recall that JHOVE module names can be specified in a case-insensitive manner.)

An optional parameter can be passed to the module via the <param> element in the configuration file. The parameter specifies a series of individual character flags:

a Display document annotations
fDisplay document font information
oDisplay document outline
pDisplay document page structure

By default, document annotations, font information, and outlines are not displayed to reduce the size of the JHOVE output.

6.8 TIFF-hul Module

The TIFF-hul module recognizes and validates the following public profiles:

The TIFF-hul module is invoked by the following command line option:

jhove ... -m tiff-hul ...

(Recall that JHOVE module names can be specified in a case-insensitive manner.)

TIFF representation information is formatted by the output handlers consistent with the NISO image metadata [NISO Z39.87]. Additional representation information includes all TIFF tags.

6.9 UTF8-hul Module

Only digital objects consisting entirely of properly UTF-8-encoded text [Unicode] are well-formed and valid with respect to the UTF8-hul module.

The module is invoked by the following command line option:

jhove ... -m utf8-hul ...

(Recall that JHOVE module names can be specified in a case-insensitive manner.)

In addition to the standard representation information, the UTF-8 module includes the number of characters, the Unicode character blocks [Unicode blocks], and the line endings used in the digital object.

6.10 WAVE-hul Module

The WAVE-hul module recognizes and validates the following public profiles:

The WAVE-hul module is invoked by the following command line option:

jhove ... -m wave-hul ...

(Recall that JHOVE module names can be specified in a case-insensitive manner.)

WAVE representation information is formatted by the output handlers consistent with the proposed AES-X098B, Core audio metadata XML definition, currently under development by the Audio Engineering Society (AES) SC-03-06 Working Group on Digital Library and Archive Systems. Additional representation information includes the audio technical properties of all chunks.

6.11 XML-hul Module

The XML-hul module is invoked by the following command line option:

jhove ... -m xml-hul [-x sax-class] ...

(Recall that JHOVE module names can be specified in a case-insensitive manner.)

The XML-hul module can use any XML parser that conforms to the SAX2 interfaces. The actual parser used is the first valid value defined as:

  1. The parser specified by the -x sax-class command line option (whose class file must be found on the CLASSPATH at the time of execution);
  2. The value of the edu.harvard.hul.ois.jhove.saxClass property in the the properties file ${user.home}/jhove/jhove.properties properties file, where ${user.home} is the standard Java user.home property; or
  3. The default parser of the J2SE Java Runtime Environment (JRE).

6.12 HTML-hul Module

The HTML-hul module is invoked by the following command line option:

jhove ... -m hml-hul ...

(Recall that JHOVE module names can be specified in a case-insensitive manner.)

The module recognizes and validates HTML 3.2, 4.0 (strict, transitional and frameset), and 4.01 (strict, transitional and frameset), as well as XHTML 1.0 and 1.1.

7 Standard Output Handlers

The initial JHOVE distribution includes the following standard output handlers.

7.1 TEXT Output Handler

The Text handler is the default output handler; if no other handler is explicitly specified, the Text handler is used.

jhove ...
jhove ... -h text ...

(Recall that JHOVE output handlers can be specified in a case-insensitive manner.)

Regardless of the configuration options, JHOVE always statically loads the Text output handler.

7.2 XML Output Handler

The XML handler output is defined by the JHOVE schema <http://hul.harvard.edu/ois/xml/xsd/jhove/jhove.xsd>.

jhove ... -h xml ...

(Recall that JHOVE output handlers can be specified in a case-insensitive manner.)

The XML handler formats raster still image representation information according to the MIX schema [MIX] for the NISO image metadata [NISO Z39.87].

Note: Contrary to the NISO image metadata data dictionary, JHOVE defines XSamplingFrequency and YSamplingFrequency as rational values, not positive integers. This is necessary for images whose image length or width is not an integral ratio of the image source X or Y dimension.

Audio representation information is formatted according to the proposed AES-X098B, Core audio metadata XML definition, currently under development by the Audio Engineering Society (AES) SC-03-06 Working Group on Digital Library and Archive Systems.

Regardless of the configuration options, JHOVE always statically loads the XML output handler.

7.3 Audit Output Handler

The Audit handler should be invoked against a directory (or directories) without specifying a module. The handler produces an XML-formatted summary of all of the files in the directory, e.g.:

<?xml version="1.0" encoding="UTF-8"?>
<jhove xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns="http://hul.harvard.edu/ois/xml/ns/jhove"
          xsi:schemaLocation="http://hul.harvard.edu/ois/xml/ns/jhove
                              http://hul.harvard.edu/ois/xml/xsd/jhove/1.3/jhove.xsd"
          name="Jhove" release="1.0 (beta 3)" date="2005-02-04">
 <date>2005-02-10T09:37:11-05:00</date>
 <audit>
  <file mime="application/pdf" status="valid">jhove/examples/pdf/AA_Banner-single.pdf</file>
  <file mime="text/plain; charset=US-ASCII" status="valid">jhove/examples/pdf/AA_Banner.pdf</file>
  <file mime="text/plain; charset=US-ASCII" status="valid">jhove/examples/pdf/README</file>
  <file mime="application/pdf" status="valid">jhove/examples/pdf/bedfordcompressed.pdf</file>
  <file mime="application/pdf" status="valid">jhove/examples/pdf/fallforum03.pdf</file>
  <file mime="application/pdf" status="valid">jhove/examples/pdf/imd.pdf</file>
  <file mime="application/pdf" status="well-formed">jhove/examples/pdf/ddap/DDAP_Singlev3.pdf</file>
  <file mime="application/pdf" status="well-formed">jhove/examples/pdf/ddap/DDAP_Spreadv3.pdf</file>
  <file mime="text/plain; charset=US-ASCII" status="valid">jhove/examples/pdf/ddap/README</file>
 </audit>
</jhove>
<!-- Summary by MIME type:
application/pdf: 6 (4,2)
text/plain; charset=US-ASCII: 9 (9,0)
Total: 15 (13,2)
-->
<!-- Summary by directory:
jhove/examples/pdf: 6 (6,0) + 0,0
jhove/examples/pdf/ddap: 3 (1,2) + 0,0
Total: 9 (7,2) + 0,0
-->
<!-- Elapsed time: 0:00:05 -->
It is intended that the Audit handler will form the basis for other, more interesting handlers.

jhove ... -h audit ...

(Recall that JHOVE output handlers can be specified in a case-insensitive manner.)

Regardless of the configuration options, JHOVE always statically loads the Audit output handler.

8 Logging support

As an aid to debugging third-party modifications, JHOVE supports the Java logging (java.util.logging) API. As delivered, each instance of JhoveBase creates a logger named "edu.harvard.hul.ois.jhove", and any module which invokes the ModuleBase constructor creates a logger named "edu.harvard.hul.ois.jhove.module". The logging level can be set either with the logLevel element of the configuration file or with the -l parameter in the command line. Permissible logging levels are OFF, SEVERE, WARNING, INFO, CONFIG, FINE, FINER FINEST, and ALL. The default logging level is SEVERE. See the Sun logging overview for more information on logging.

9 License

JHOVE is made available under the GNU Lesser General Public License (LGPL).

Acknowledgements

Development of JHOVE was funded in part by the Andrew W. Mellon Foundation through a grant to JSTOR for the recently launched Electronic-Archiving Initiative.

The JHOVE logo is based on a manipulated three-color filter image of Jupiter and its moon Ganymede (P-20945C, Voyager 1-9, January 31, 1979) produced by the Jet Propulsion Laboratory from images taken by the Voyager 1 spacecraft on January 24, 1979. The original image and caption are made available from NASA by the National Space Science Data Center.

Copyright 2004-2012 by JSTOR and the President and Fellows of Harvard College. Used by permission.
Last updated 2012-12-05