Controlling logging

This section describes how to control logging in Neo4j embedded using the Neo4j embedded logging framework.

Neo4j embedded provides logging via its own org.neo4j.logging.Log layer, and does not natively use any existing Java logging framework. All logging events produced by Neo4j have a name, a level and a message. The name is a FQCN (fully qualified class name).

Neo4j uses the following log levels:


For serious errors that are almost always fatal


For events that are serious, but not fatal


Informational events


Debugging events

To enable logging, an implementation of org.neo4j.logging.LogProvider must be provided to the org.neo4j.dbms.api.DatabaseManagementServiceBuilder, as follows:

LogProvider logProvider = new MyCustomLogProvider( output );
managementService = new DatabaseManagementServiceBuilder( databaseDirectory ).setUserLogProvider( logProvider ).build();