Skip to content

Commit

Permalink
Merge pull request #12 from dignajar/mandatory-fields-for-logs
Browse files Browse the repository at this point in the history
Mandatory fields for logs and position
  • Loading branch information
dignajar committed Dec 11, 2020
2 parents 64ed1c0 + 293f8c1 commit c3b3313
Showing 1 changed file with 19 additions and 13 deletions.
32 changes: 19 additions & 13 deletions files/logs.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from datetime import datetime, timedelta
from datetime import datetime
from flask import request
from os import environ
import json
Expand All @@ -15,31 +15,37 @@ def __init__(self, objectName):

self.objectName = objectName

def __print__(self, fields):
fields['level'] = self.level
fields['objectName'] = self.objectName
fields['date'] = datetime.now().strftime("%Y-%m-%d %H:%M:%S")

def __print__(self, extraFields):
fields = {
'date': datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
'level': self.level,
'objectName': self.objectName,
'ip': '',
'referrer': ''
}
# Try to get IP and referrer from user
try:
fields['ip'] = request.environ.get('HTTP_X_REAL_IP', request.remote_addr)
fields['referrer'] = request.headers.get("Referer")
except Exception as e:
pass

# Include extra fields custom by the user
fields.update(extraFields)

if self.format == 'JSON':
print(json.dumps(fields))
else:
print(" - ".join(fields.values()))
print(' - '.join(map(str, fields.values())))

def error(self, fields):
def error(self, extraFields):
if self.level in ['INFO', 'WARNING', 'ERROR']:
self.__print__(fields)
self.__print__(extraFields)

def warning(self, fields):
def warning(self, extraFields):
if self.level in ['INFO', 'WARNING']:
self.__print__(fields)
self.__print__(extraFields)

def info(self, fields):
def info(self, extraFields):
if self.level in ['INFO']:
self.__print__(fields)
self.__print__(extraFields)

0 comments on commit c3b3313

Please sign in to comment.