diff --git a/app/__init__.py b/app/__init__.py
index fab31430d322a2842639ad789125566487976160..35b1be553b2454c1b9b997b2c47b3446cd68c444 100644
--- a/app/__init__.py
+++ b/app/__init__.py
@@ -18,9 +18,10 @@ def create_app(config_class=Config):
     
     #Only enabled when DEVELOPMENT_MODE in .env is set to true
     development_mode = os.getenv("DEVELOPMENT_MODE")
+    print(development_mode)
 
-    if (development_mode.lower() == 'true'): 
-        app.config['DEBUG'] = True
+    #if (development_mode.lower() == 'true'): 
+    app.config['DEBUG'] = True
 
     load_dotenv()
     db_host = os.getenv("DATABASE_HOST")
@@ -57,7 +58,7 @@ def create_app(config_class=Config):
 
     
     if __name__ == "__main__":
-        app.run(use_reloader=True)
+        app.run(use_reloader=True, debug=True)
         
     login_manager.login_view = 'profile.login'
     login_manager.init_app(app)
@@ -81,3 +82,6 @@ def register_blueprints(app):
         module = __import__(f'app.{module_name}', fromlist=['bp'])
         app.register_blueprint(module.bp, url_prefix=url_prefix)
 
+
+
+
diff --git a/app/logger/__init__.py b/app/logger/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..31350b1cb1fb4fd3d162846f4037bb930d067317
--- /dev/null
+++ b/app/logger/__init__.py
@@ -0,0 +1,38 @@
+import logging
+import os
+from .config import LOG_FORMAT, LOG_LEVELS, LOG_DIR
+
+class LoggerConfig:
+    def __init__(self, logs_dir=LOG_DIR):
+        self.logs_dir = logs_dir
+        self.ensure_logs_dir_exists()
+
+    def ensure_logs_dir_exists(self):
+        if not os.path.exists(self.logs_dir):
+            os.makedirs(self.logs_dir)
+
+    def setup_logger(self, name, log_file='error.log', level=logging.DEBUG):
+        log_file_path = os.path.join(self.logs_dir, log_file)
+        logger = logging.getLogger(name)
+        logger.setLevel(level)
+        
+        file_handler = logging.FileHandler(log_file_path)
+        console_handler = logging.StreamHandler()
+        
+        file_handler.setLevel(level)
+        console_handler.setLevel(level)
+        
+        formatter = logging.Formatter(LOG_FORMAT)
+        file_handler.setFormatter(formatter)
+        console_handler.setFormatter(formatter)
+        
+        logger.addHandler(file_handler)
+        logger.addHandler(console_handler)
+        
+        return logger
+
+# Create different loggers here
+logger_config = LoggerConfig()
+app_logger = logger_config.setup_logger('app', log_file='app.log', level=LOG_LEVELS['debug'])
+db_logger = logger_config.setup_logger('db', log_file='db.log', level=LOG_LEVELS['info'])
+auth_logger = logger_config.setup_logger('auth', log_file='auth.log', level=LOG_LEVELS['warning'])
diff --git a/app/logger/config.py b/app/logger/config.py
new file mode 100644
index 0000000000000000000000000000000000000000..84e593e6713b4952b6dac56b5e592639baf78a0d
--- /dev/null
+++ b/app/logger/config.py
@@ -0,0 +1,16 @@
+import logging
+
+# Define logging formats
+LOG_FORMAT = '%(asctime)s %(name)s : %(levelname)s - %(message)s'
+
+# Define log levels
+LOG_LEVELS = {
+    'debug': logging.DEBUG,
+    'info': logging.INFO,
+    'warning': logging.WARNING,
+    'error': logging.ERROR,
+    'critical': logging.CRITICAL,
+}
+
+# Default log directory
+LOG_DIR = 'logs'
diff --git a/app/profile/routes.py b/app/profile/routes.py
index 4a32cfa129046e8b78d5ec05953a7ac3dc2e449b..a22e49be26b9d13e84eb52f5311588040a140d34 100644
--- a/app/profile/routes.py
+++ b/app/profile/routes.py
@@ -5,6 +5,7 @@ from werkzeug.security import generate_password_hash, check_password_hash
 from app.models import User
 from app import db
 from flask_login import login_user, logout_user, login_required, current_user
+from app.logger import app_logger
 
 @bp.route('/signup')
 def signup():
@@ -56,6 +57,7 @@ def login():
 @login_required
 @bp.route('/home')
 def index():
+    app_logger.error("Logger accessed on profile page")
     if current_user.is_authenticated:
         return render_template('profile/index.html', username=current_user.username)