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.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using TeamHobby.HobbyProjectGenerator.Logging.Contracts;
|
||||||
|
|
||||||
namespace TeamHobby.HobbyProjectGenerator.ServiceLayer
|
namespace TeamHobby.HobbyProjectGenerator.ServiceLayer
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using TeamHobby.HobbyProjectGenerator.Logging.Contracts;
|
||||||
|
|
||||||
namespace TeamHobby.HobbyProjectGenerator.ServiceLayer
|
namespace TeamHobby.HobbyProjectGenerator.ServiceLayer
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,4 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Data.Odbc;
|
||||||
|
using TeamHobby.HobbyProjectGenerator.DataAccessLayer;
|
||||||
|
using TeamHobby.HobbyProjectGenerator.Logging.Contracts;
|
||||||
|
|
||||||
namespace TeamHobby.HobbyProjectGenerator.ServiceLayer
|
namespace TeamHobby.HobbyProjectGenerator.ServiceLayer
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using TeamHobby.HobbyProjectGenerator.Logging.Contracts;
|
||||||
using TeamHobby.HobbyProjectGenerator.ServiceLayer.Contracts;
|
using TeamHobby.HobbyProjectGenerator.ServiceLayer.Contracts;
|
||||||
|
|
||||||
namespace TeamHobby.HobbyProjectGenerator.ServiceLayer
|
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.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using TeamHobby.HobbyProjectGenerator.DataAccessLayer;
|
using TeamHobby.HobbyProjectGenerator.DataAccessLayer;
|
||||||
|
using TeamHobby.HobbyProjectGenerator.Logging.Contracts;
|
||||||
using TeamHobby.HobbyProjectGenerator.ServiceLayer.Contracts;
|
using TeamHobby.HobbyProjectGenerator.ServiceLayer.Contracts;
|
||||||
using TeamHobby.HobbyProjectGenerator.ServiceLayer.Implementations;
|
using TeamHobby.HobbyProjectGenerator.ServiceLayer.Implementations;
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user