Ejercicio
Manipulador De Registros
Objectivo
Desarrolla un programa Python con una clase llamada Logger, que incluye un método estático llamado log. Este método tomará un nombre de archivo y un mensaje como entrada y agregará el mensaje al archivo. Cada entrada de registro también debe incluir la fecha y hora actuales, lo que facilita el análisis posterior del registro.
Uso de ejemplo:
Logger.log("myLog.txt", "Este mensaje está registrado")
El método log debe garantizar que el mensaje se guarde al final del archivo y que la marca de tiempo se coloque antes del mensaje en la misma línea.
Sugerencia: explora cómo usar el manejo de archivos para agregar y cómo obtener la marca de tiempo actual con datetime.now.
Ejemplo de ejercicio de Python
Mostrar código Python
from datetime import datetime
class Logger:
"""
A class that provides logging functionality.
Includes a static method to log messages to a file with a timestamp.
"""
@staticmethod
def log(file_name, message):
"""
Logs a message to the specified file with the current timestamp.
Appends the message at the end of the file.
Parameters:
file_name (str): The name of the file to which the log will be saved.
message (str): The message to be logged.
"""
try:
# Get the current timestamp in the format YYYY-MM-DD HH:MM:SS
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
# Open the file in append mode ('a') so we add to the end of the file
with open(file_name, 'a') as file:
# Write the timestamp and the message to the file
file.write(f"{timestamp} - {message}\n")
print(f"Message logged successfully to {file_name}.")
except Exception as e:
print(f"Error logging message: {e}")
# Test the Logger class
if __name__ == "__main__":
# Example usage of the Logger class
Logger.log("myLog.txt", "This message is logged.")
Logger.log("myLog.txt", "Another message for logging.")
Output
Message logged successfully to myLog.txt.
Message logged successfully to myLog.txt.
2024-12-27 14:30:15 - This message is logged.
2024-12-27 14:30:20 - Another message for logging.
Código de ejemplo copiado
Comparte este ejercicio de Python