Skip to content
You are reading Web3Signer development version documentation and some displayed features may not be available in the stable release. You can switch to stable version using the version box at screen bottom.


Web3Signer provides two methods to configure logging:

  • Basic - changes the log level.
  • Advanced - configures the output and format of the logs.

Basic log level setting

Use the --logging command line option to specify logging verbosity. The --logging option changes the volume of events displayed in the log. Valid log levels are OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL. The default level is INFO.

Advanced custom logging

You can provide your own logging configuration using the standard Log4J2 configuration mechanisms.


<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
    <Property name="root.log.level">INFO</Property>
    <Property name="dependency.log.level">INFO</Property>

    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSSZZZ} | %t | %-5level | %c{1} | %msg%n"/>
    <Logger name=""
      level="${dependency.log.level}" additivity="false">
      <AppenderRef ref="Console"/>
    <Logger name="com.networknt.schema" level="${env:dependency.log.level}" additivity="false">
      <AppenderRef ref="Console"/>
    <Logger name="org.jdbi.v3.core" level="${env:dependency.log.level}" additivity="false">
      <AppenderRef ref="Console"/>
    <Logger name="com.zaxxer.hikari" level="${env:dependency.log.level}" additivity="false">
      <AppenderRef ref="Console"/>
    <Logger name="io.swagger.v3" level="${env:dependency.log.level}"
      <AppenderRef ref="Console"/>
    <Logger name="io.netty" level="${env:dependency.log.level}" additivity="false">
      <AppenderRef ref="Console"/>
    <Root level="${sys:root.log.level}">
      <AppenderRef ref="Console"/>

To use your custom configuration, set the environment variable JAVA_OPTS to the location of your configuration file.


export JAVA_OPTS="-Dlog4j.configurationFile=<path_to_file>"

The above is an example, you can tune your requirements and create your own log4j2 configuration.

For Bash-based executions, you can set the variable for only the scope of the program execution by setting it before starting Web3Signer.


Set the custom logging and start Web3Signer:

JAVA_OPTS="-Dlog4j.configurationFile=/Users/me/debug.xml" web3signer --key-store-path=/Users/me/keyFiles/ eth2
Questions or feedback? You can discuss issues and obtain free support on Web3Signer Discord channel.
For paid professional support by Consensys, contact us at [email protected].