Enabling debug logging
Enabling debug/verbose logging can help identify the cause of issues. For many Pact libraries, this will allow you to see the HTTP requests and responses when the library interacts with a Pact Broker or PactFlow. For older Pact libraries that wrap a shared Ruby Pact implementation, verbose logging can be enabled by setting the environment variable VERBOSE=true
. New Pact libraries that use the shared Rust Pact implementation will have their own language specific ways of enabling verbose logging.
pact-cli Docker image​
Set environment variable VERBOSE=true
. This will cause the HTTP requests and responses to be logged to the console.
Pact Ruby Standalone​
Set environment variable VERBOSE=true
. This will cause the HTTP requests and responses to be logged to the console.
Pact Ruby​
Set environment variable VERBOSE=true
. This will cause the HTTP requests and responses to be logged to the console.
Pact JS​
Latest (10.x.x, 11.x.x)
Set the logLevel
property to trace
when configuring the PactV3({...})
or PactV4({...})
class, or as an option to the verifier.
9.x.x
For consumer tests, set the logLevel
property to debug
when configuring the Pact({...})
class. Logs will be emitted to the console.
For provider tests, set the verbose
property to true
on the Verifier
class to log additional HTTP requests and responses to a pact.log
file in the directory specified by the logDir
property.
Pact JVM​
Set the logging level to debug
in the logging framework used in your project. These docs may assist you in enabling logging for the HTTP client used by the Pact library. Note that Maven CLI, Gradle CLI and Springboot have their own methods of configuring logging, and you will need to consult the docs for the relevant framework in your project.
Pact Python​
TBC
Pact PHP​
You can either set the PACT_LOGLEVEL
environment variable (if using MockServerEnvConfig
) or add $config->setLogLevel($logLevel);
to the top of your test.
Available values for $logLevel
are:
9.x.x
DEBUG
INFO
WARN
ERROR
10.x.x
TRACE
DEBUG
INFO
WARN
ERROR
OFF
orNONE
Pact Scala​
TBC
Pact Go​
1.x.x
For consumer tests, set the LogLevel
property to debug
on the Pact
struct. Logs will be emitted to the console.
For provider tests, specify PactLogDir
to write verbose HTTP request and responses to a pact.log
file in the given directory, and set PactLogLevel
string to debug
.
2.x.x
You can either set the LOG_LEVEL
environment variable to TRACE
before running your tests or add SetLogLevel("trace")
to the top of your test.
NOTE: SetLogLevel
can only be set once across your entire suite and cannot be changed dynamically