import logging
logging.basicConfig(filename=os.path.join(BASE_DIR, 'django.log'), level=logging.INFO, format='%(asctime)s %(levelname)s %(message)s')
##################### Here is the Middleware #######################
class RequestResponseLoggingMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
response = self.get_response(request)
logger.info('Request: {0} {1} {2}'.format(request.method, request.path, get_client_ip()))
return response
def get_client_ip():
try :
hostname = socket.gethostname()
IPAddr = socket.gethostbyname(hostname)
ip = IPAddr
except :
ip = '-'
return ip
Here is what I am getting in my Windows logs:
2023-03-09 19:42:33,972 INFO Request: GET /login 192.185.45.22