logging in code example

Example 1: 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 2: python logging example

# logging_example.py

import logging

# Create a custom logger
logger = logging.getLogger(__name__)

# Create handlers
c_handler = logging.StreamHandler()
f_handler = logging.FileHandler('file.log')
c_handler.setLevel(logging.WARNING)
f_handler.setLevel(logging.ERROR)

# Create formatters and add it to handlers
c_format = logging.Formatter('%(name)s - %(levelname)s - %(message)s')
f_format = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
c_handler.setFormatter(c_format)
f_handler.setFormatter(f_format)

# Add handlers to the logger
logger.addHandler(c_handler)
logger.addHandler(f_handler)

logger.warning('This is a warning')
logger.error('This is an error')

Example 3: logging request

Logging
In many cases it can be useful to print the
response and/or request details in order to 
help you create the correct expectations and 
send the correct requests. To do help you do thi
s you can use one of the predefined filters 
supplied with REST Assured or you can use one of the shortcuts.

Request Logging

given().log().all(). .. //
Log all request specification details
including parameters, headers and body
given().log().params(). .. // Log only the parameters of the request
given().log().body(). .. // Log only the request body
given().log().headers(). .. // Log only the request headers
given().log().cookies(). .. // Log only the request cookies
given().log().method(). .. // Log only the request method
given().log().path(). .. // Log only the request path

Example 4: from logging import logger

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-

import logging

logger = logging.getLogger(__name__)
logging.basicConfig(level=logging.DEBUG)

logger.debug('Loging %s lewel', 'DEBUG')
logger.info('Loging %s lewel', 'INFO')
logger.warning('Loging %s lewel', 'WARN')
logger.error('Loging %s lewel', 'ERROR')
logger.critical('Loging %s lewel', 'CRITICAL')

Example 5: how to logging in framework

How do you use Log4J in your framework?
Basically it is printing/logging the important
events of the application/test run.
in my project I did logging using the log4j library.
I added the library dependency into pom.xml.
For logging we create an object from
Logger Interface and LogManager class using
getLogger method and passing the class name in it;  

private static Logger log = LogManager.getLogger(LogDemo.class.getName());
static Logger log = Logger.getLogger(log4jExample.class.getName());

We create it by passing the
name of the current class.
Then we can use this object 
to do our logging.
log.info
log.debug
log.fatal
log.error

The Logger object is responsible for capturing 
logging information and they are stored 
in a namespace hierarchy.

Example 6: 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>