logging code example

Example 1: response logging

Response Logging
If you want to print the response body regardless of the
status code you can do:

get("/x").then().log().body() ..
This will print the response body regardless if an error occurred.
If you're only interested in printing the response body if an error
occur then you can use:

get("/x").then().log().ifError(). .. 
You can also log all details in the response
including status line, headers and cookies:

get("/x").then().log().all(). .. 
as well as only status line, headers or cookies:

get("/x").then().log().statusLine(). .. // Only log the status line
get("/x").then().log().headers(). .. // Only log the response headers
get("/x").then().log().cookies(). .. // Only log the response cookies
You can also configure to log the response
only if the status code matches some value:

get("/x").then().log().ifStatusCodeIsEqualTo(302). .. // 
Only log if the status code is equal to 302

get("/x").then().log().ifStatusCodeMatches(matcher). .. //
Only log if the status code matches the supplied Hamcrest matcher

Example 2: logging.logger

import logging

logging.basicConfig(level=logging.WARNING)
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
  
logger.debug("some debugging...")
logger.error("some error...")

Example 3: what do you use for logging

I use Log4J for logging. 
I always log important steps in the test
execution. That helps me to debug
when there is a failure.
Log4J is not a replacement for HTML reports.
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j- core</artifactId>
<version>2.11.0</version>
</dependency>

Example 4: LOGGING

import logging
LOG_FILENAME = 'example.log'
logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG)

logging.debug('This message should go to the log file')

Tags: