Added logging with references fixed
This commit is contained in:
parent
4f8aeaead8
commit
d550ad44df
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using TeamHobby.HobbyProjectGenerator.Logging.Contracts;
|
||||
|
||||
namespace TeamHobby.HobbyProjectGenerator.ServiceLayer
|
||||
{
|
||||
|
||||
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using TeamHobby.HobbyProjectGenerator.Logging.Contracts;
|
||||
|
||||
namespace TeamHobby.HobbyProjectGenerator.ServiceLayer
|
||||
{
|
||||
|
||||
@ -1,4 +1,7 @@
|
||||
using System;
|
||||
using System.Data.Odbc;
|
||||
using TeamHobby.HobbyProjectGenerator.DataAccessLayer;
|
||||
using TeamHobby.HobbyProjectGenerator.Logging.Contracts;
|
||||
|
||||
namespace TeamHobby.HobbyProjectGenerator.ServiceLayer
|
||||
{
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using TeamHobby.HobbyProjectGenerator.Logging.Contracts;
|
||||
using TeamHobby.HobbyProjectGenerator.ServiceLayer.Contracts;
|
||||
|
||||
namespace TeamHobby.HobbyProjectGenerator.ServiceLayer
|
||||
|
||||
@ -1,59 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace TeamHobby.HobbyProjectGenerator.ServiceLayer
|
||||
{
|
||||
// implementation of ILogger that stores logs as they initialize
|
||||
public class InMemoryLogger : ILogger
|
||||
{
|
||||
// make readonly to prevent it from being changed somewhere other than in the constructor
|
||||
private readonly IList<string> _logStore;
|
||||
|
||||
public InMemoryLogger()
|
||||
{
|
||||
// list of current logs
|
||||
_logStore = new List<string>();
|
||||
}
|
||||
|
||||
public InMemoryLogger(IList<string> logStore)
|
||||
{
|
||||
_logStore = logStore;
|
||||
}
|
||||
|
||||
public bool Log(LogEntry entry)
|
||||
{
|
||||
if (entry is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(entry));
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
// string interpolation to add UTC timestamp to log description
|
||||
//_logStore.Add($"{DateTime.UtcNow}-> {description}");
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public IList<string> GetAllLogs()
|
||||
{
|
||||
return _logStore;
|
||||
}
|
||||
|
||||
|
||||
public override bool Equals(object? obj)
|
||||
{
|
||||
return obj is InMemoryLogger logger &&
|
||||
EqualityComparer<IList<string>>.Default.Equals(_logStore, logger._logStore);
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return HashCode.Combine(_logStore);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -4,6 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using TeamHobby.HobbyProjectGenerator.DataAccessLayer;
|
||||
using TeamHobby.HobbyProjectGenerator.Logging.Contracts;
|
||||
using TeamHobby.HobbyProjectGenerator.ServiceLayer.Contracts;
|
||||
using TeamHobby.HobbyProjectGenerator.ServiceLayer.Implementations;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user