From 5c57b4411f7f4c5a244394579b2e5af4f946b389 Mon Sep 17 00:00:00 2001 From: HombreLaser Date: Wed, 26 Oct 2022 18:10:07 -0500 Subject: AƱadido servicio logger MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Services/LoggerService.cs | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 Services/LoggerService.cs (limited to 'Services') diff --git a/Services/LoggerService.cs b/Services/LoggerService.cs new file mode 100644 index 0000000..dd78e23 --- /dev/null +++ b/Services/LoggerService.cs @@ -0,0 +1,37 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Hosting; + +namespace LibraryAPI.Services { + public class LoggerService : IHostedService { + private readonly IWebHostEnvironment env; + private readonly string log_file = "Log.txt"; + private Timer timer; + + public LoggerService(IWebHostEnvironment env) { + this.env = env; + } + + public Task StartAsync(CancellationToken cancel_token) { + timer = new Timer(DoWork, null, TimeSpan.Zero, TimeSpan.FromMinutes(5)); + return Task.CompletedTask; + } + + public void DoWork(object state){ + LogToFile("Executing task\n" + DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss")); + } + + public Task StopAsync(CancellationToken cancel_token) { + LogToFile("Stopping task...\n"); + timer.Dispose(); + return Task.CompletedTask; + } + + private void LogToFile(string message) { + var path = $@"{env.ContentRootPath}/wwwroot/{log_file}"; + + using (StreamWriter w = new StreamWriter(path, append: true)) { + w.WriteLine(message); + } + } + } +} -- cgit v1.2.3