Controlling logging

This 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:

Level Name Description


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();