Configure logging
Web3Signer provides two methods to configure logging:
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">
<Properties>
<Property name="root.log.level">INFO</Property>
<Property name="dependency.log.level">INFO</Property>
</Properties>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSSZZZ} | %t | %-5level | %c{1} | %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="com.azure.security.keyvault.secrets.SecretAsyncClient"
level="${dependency.log.level}" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.networknt.schema" level="${env:dependency.log.level}" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
<Logger name="org.jdbi.v3.core" level="${env:dependency.log.level}" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.zaxxer.hikari" level="${env:dependency.log.level}" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
<Logger name="io.swagger.v3" level="${env:dependency.log.level}"
additivity="false">
<AppenderRef ref="Console"/>
</Logger>
<Logger name="io.netty" level="${env:dependency.log.level}" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
<Root level="${sys:root.log.level}">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
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