diff --git a/app/parser.py b/app/parser.py
index 4d7c131709282d063127cabbe370ad39ac8af4fa..e28f48857124e1d410ee7ad30cc7c89485676d8e 100644
--- a/app/parser.py
+++ b/app/parser.py
@@ -1,17 +1,30 @@
 from flask import Flask, request
 import os
+import logging
+import sys
 
 app = Flask(__name__)
 
-# Diretórios onde os arquivos Markdown serão salvos
+#Configuração do log
+logging.basicConfig(stream=sys.stdout,
+                    filemode='a',
+                    level=logging.INFO,
+                    format='%(asctime)s - %(levelname)s - %(message)s')
+
+
+# Diretórios onde os arquivos Markdown serão salvos dentro da pasta do hugo
 DIR_O_C3SL = os.path.join(os.getcwd(), '../cms-c3sl/themes/c3sl/exampleSite/content')
 DIR_POSTS = os.path.join(os.getcwd(), '../cms-c3sl/themes/c3sl/exampleSite/content/noticia')
 DIR_PROJECTS = os.path.join(os.getcwd(), '../cms-c3sl/themes/c3sl/exampleSite/content/projetos')
 
 def create_or_update_post(post_id, data, event, content_type):
     if not data:
-        return
+        logging.error(f"Code: 400"                
+                    f"Status: JSON file not found\n")                    
+        logging.exception("error occurred while processing the event")
+        return "JSON not found", 400
     
+    #Caso a requisição seja para criar/alterar o conteudo do "Quem Somos"
     if content_type == 'o-c3sl':
         attributes = data.get('entry', {})
         title = attributes.get('Titulo', '')
@@ -27,7 +40,9 @@ layout: 'legal'
 ---
 {content}
 """
+    #Caso a requisição seja para criar/alterar um projeto
     elif content_type == 'projeto':
+        #Coleta os dados necessários para estar no arquivo JSON
         attributes = data.get('entry', {})
         title = attributes.get('Titulo', '')
         status = attributes.get('Status', '')
@@ -39,18 +54,19 @@ layout: 'legal'
 
         edited_line = 'Edited: true\n' if event == 'entry.update' else ''
 
-        content_markdown = f"""---
+        content_markdown = f"""
+---
 title: "{title}"
 author: " Parceiro: {partner}"
 status: "{status}"
 {edited_line}ShowReadingTime: true
 ---
 ---
-
 {content}
 """
-
-    else:
+    ##Caso a requisição seja para criar/alterar uma notícia
+    elif content_type == 'post':
+        #Coleta os dados necessários para estar no arquivo JSON
         attributes = data.get('entry', {})
         content = attributes.get('Descricao', '')
         published_at = attributes.get('Data', '')
@@ -81,59 +97,88 @@ summary: "{summary}"
 
 {content}
 """
-
+        
+    #Registra o conteúdo no arquivo conforme diretório estabelecido
     try:
         with open(file_path, 'w', encoding='utf8') as file:
             file.write(content_markdown)
-        #print(f"Conteúdo do Markdown criado/atualizado para o post ID {post_id}:\n{content_markdown}\n")
-        #print(f"Post '{title}' salvo como {file_path}")
+        logging.info(f"Content '{title}'\nSaved in: {file_path}")
+        
     except Exception as e:
-        print(f"Erro ao escrever o arquivo: {e}")
+        logging.error(f"Error writing file{e}")
+        return f"Error writing file{e}", 400
 
+#Deleta algum tipo de conteudo enviado por requisição
 def delete_post(post_id, content_type):
+    #Deletando uma notícia
     if content_type == 'post':
         file_name = f"{post_id}.md"        
         file_path = os.path.join(DIR_POSTS, file_name)
 
         if os.path.exists(file_path):
             os.remove(file_path)
-            #print(f"Post com ID {post_id} deletado")
+            logging.info(f"200 - DELETED: Post with ID number {post_id}")
         else:
-            print(f"Arquivo com ID {post_id} não encontrado para exclusão")
+            logging.error(f"400 - ERROR: Post with with ID number{post_id} not found for exclusion")
+
+    #Deletando um projeto
     elif content_type == 'projeto':
         file_name = f"{post_id}.md"        
         file_path = os.path.join(DIR_PROJECTS, file_name)
 
         if os.path.exists(file_path):
             os.remove(file_path)
-            #print(f"Post com ID {post_id} deletado")
+            logging.info(f"200 - DELETED: Project with ID number {post_id}")
         else:
-            print(f"Arquivo com ID {post_id} não encontrado para exclusão")
-    
+            logging.error(f"200 - ERROR: File of project with ID number {post_id} not found for exclusion")
+    else:
+        logging.error(f"400 - ERROR: Content type: '{content_type}' not recognized for deletion")
 
 
+#Função responsavel por interpretar as requisições do webhooks
 @app.route('/', methods=['POST'])
 def run_script():
     data = request.json
-    #print("Dados recebidos:", data)
+    print("JSON received: ", data)
+    logging.info ("Data (JSON) received")
 
+    #Do arquivo JSON, separa ID do conteudo, tipo do evento e o conteúdo
     post_id = data.get('entry', {}).get('id')
     event = data.get('event')
     content_type = data.get('model', '')  # Obtém o tipo de conteúdo do Strapi
 
-    print(f"Evento: {event}, ID: {post_id}, Tipo: {content_type}")
+    print(f"Event: {event}, ID: {post_id}, Type: {content_type}")
 
     if not post_id:
+        logging.error(f"Code: 400"
+                    f"Status: ID not found in JSON: {data}")
+        logging.exception("error occurred while processing the event")
         return "ID not found in JSON", 400
-
-    if event in ['entry.update', 'entry.publish']:
+    
+    if event in ['entry.create']:
+        logging.info (f"File created in Strapi- ID: {post_id} - Type: {content_type}"
+                    f"\nData: {data}")
+        return f"File created in Strapi {post_id} - Type: {content_type}", 200
+    
+    elif event in ['entry.update', 'entry.publish']:
         create_or_update_post(post_id, data, event, content_type)
+
+        logging.info(f"\nFile created in Hugo- ID: {post_id} - Type: {content_type}"
+                     f"\nData: {data}\nOperation completed successfully\n")
+        return f"Operation completed successfully\n Data: {data}", 200
+    
     elif event in ['entry.delete', 'entry.unpublish']:
         delete_post(post_id, content_type)
-    else:
-        return "Evento não reconhecido", 400
+        logging.info(f"File removed - ID: {post_id} - Type: {content_type}")
+        return f"File removed with ID {post_id}", 200 
 
-    return "Operação concluída com sucesso", 200
+    else:
+        logging.error(f"Code: 400\n"
+                    f"Status: Event {event} not recognized\n"
+                    f"JSON Object: {data}")
+        logging.exception("error occurred while processing the event")
+        return f"Event {event} not recognized", 400
+    
 
 if __name__ == '__main__':
-    app.run(port=5000)
+    app.run(port=5000)
\ No newline at end of file