Add Logger; AcUserDal fix; AcUserDalTests improvements, etc...
This commit is contained in:
parent
715ac0fa5b
commit
3b941e9c71
|
|
@ -10,8 +10,4 @@
|
|||
<ProjectReference Include="..\AyCode.Utils\AyCode.Utils.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Enums\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
namespace AyCode.Core.Enums
|
||||
{
|
||||
public enum AppType : byte
|
||||
{
|
||||
None = 0,
|
||||
Server = 1,
|
||||
Relay = 5,
|
||||
Game = 10,
|
||||
Web = 15,
|
||||
Mobile = 20,
|
||||
Dissonance = 25,
|
||||
UnitTest = 255,
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
namespace AyCode.Core.Logger
|
||||
{
|
||||
/// <summary>
|
||||
/// Az adatbásisban van egy LogLevel tábla, ha változtatunk az enum-ok értékén, akkor ott is igazítsuk hozzá!
|
||||
/// </summary>
|
||||
public enum LogLevel : byte
|
||||
{
|
||||
Detail = 0,
|
||||
Trace = 5,
|
||||
Debug = 10,
|
||||
Info = 15,
|
||||
Suggest = 17,
|
||||
Warning = 20,
|
||||
Error = 25,
|
||||
Disabled = 255,
|
||||
}
|
||||
}
|
||||
|
|
@ -1,32 +1,85 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using AyCode.Core.Consts;
|
||||
using AyCode.Core.Enums;
|
||||
|
||||
namespace AyCode.Core.Logger
|
||||
{
|
||||
public static class Logger
|
||||
{
|
||||
public static void Info(string text)
|
||||
public static LogLevel LogLevel { get; set; } = LogLevel.Detail;
|
||||
public static AppType AppType { get; set; } = AppType.Server;
|
||||
|
||||
public static void Detail(string text, [CallerMemberName] string? memberName = null)
|
||||
=> WriteToConsole(LogLevel.Detail, GetDiagnosticText(LogLevel.Detail, text, memberName, null));
|
||||
|
||||
public static void Debug(string text, [CallerMemberName] string? memberName = null)
|
||||
=> WriteToConsole(LogLevel.Debug, GetDiagnosticText(LogLevel.Debug, text, memberName, null));
|
||||
|
||||
public static void Info(string text, [CallerMemberName] string? memberName = null)
|
||||
=> WriteToConsole(LogLevel.Info, GetDiagnosticText(LogLevel.Info, text, memberName, null));
|
||||
|
||||
public static void Warning(string text, [CallerMemberName] string? memberName = null)
|
||||
=> WriteToConsole(LogLevel.Warning, GetDiagnosticText(LogLevel.Warning, text, memberName, null));
|
||||
|
||||
public static void Suggest(string text, [CallerMemberName] string? memberName = null)
|
||||
=> WriteToConsole(LogLevel.Suggest, GetDiagnosticText(LogLevel.Suggest, text, memberName, null));
|
||||
|
||||
public static void Error(string text, [CallerMemberName] string? memberName = null)
|
||||
=> WriteToConsole(LogLevel.Error, GetDiagnosticText(LogLevel.Error, text, memberName, null));
|
||||
|
||||
public static void Error(string text, Exception ex, [CallerMemberName] string? memberName = null)
|
||||
=> WriteToConsole(LogLevel.Error, GetDiagnosticText(LogLevel.Error, text, memberName, ex));
|
||||
|
||||
private static void WriteToConsole(LogLevel logLevel, string text)
|
||||
{
|
||||
Console.WriteLine(text);
|
||||
if (logLevel < LogLevel) return;
|
||||
|
||||
//lock (ForWriterLock)
|
||||
{
|
||||
//if (logLevel > LogLevel.Trace && logLevel < LogLevel.Suggest)
|
||||
{
|
||||
Console.WriteLine(text);
|
||||
return;
|
||||
}
|
||||
|
||||
if (logLevel <= LogLevel.Trace)
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Gray;
|
||||
Console.WriteLine(text);
|
||||
}
|
||||
else if (logLevel == LogLevel.Suggest)
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Cyan;
|
||||
Console.WriteLine(text);
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.ForegroundColor = logLevel == LogLevel.Warning ? ConsoleColor.Yellow : ConsoleColor.Red;
|
||||
Console.WriteLine($"{AcEnv.NL}{text}{AcEnv.NL}");
|
||||
}
|
||||
|
||||
Console.ForegroundColor = ConsoleColor.White;
|
||||
}
|
||||
}
|
||||
|
||||
public static void Warning(string text)
|
||||
private static string GetDiagnosticText(LogLevel logLevel, string logText, string? callerName, Exception? ex)
|
||||
{
|
||||
Console.WriteLine(text);
|
||||
var threadId = Environment.CurrentManagedThreadId;
|
||||
|
||||
return $"[{DateTime.Now:HH:mm:ss.fff}] [{AppType.ToString()[0]}] {"[" + logLevel + "]",-9} {"[...->" + callerName + "]",-54} {"[" + threadId + "]",5} {logText}{ErrorText(ex)}";
|
||||
}
|
||||
|
||||
public static void Error(string text)
|
||||
private static string ErrorText(Exception? ex)
|
||||
{
|
||||
Console.WriteLine(text);
|
||||
}
|
||||
if (ex == null) return string.Empty;
|
||||
|
||||
public static void Error(string text, Exception ex)
|
||||
{
|
||||
Console.WriteLine($"{text}{AcEnv.NL}{ex.Message}{AcEnv.NL}{ex}");
|
||||
var errorType = ex.GetType().Name;
|
||||
return string.IsNullOrWhiteSpace(errorType) ? string.Empty : $"{Environment.NewLine}[{errorType.ToUpper()}]: {ex}";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ namespace AyCode.Database.Tests.Users
|
|||
{
|
||||
[TestMethod]
|
||||
[DataRow("540271F6-C604-4C16-8160-D5A7CAFEDF00")]
|
||||
public void GetUserById_ReturnsUser_WhenUserExists(string userIdString)
|
||||
public virtual void GetUserById_ReturnsUser_WhenUserExists(string userIdString)
|
||||
{
|
||||
var userId = Guid.Parse(userIdString);
|
||||
var user = Dal.GetUserById(userId);
|
||||
|
|
@ -25,7 +25,7 @@ namespace AyCode.Database.Tests.Users
|
|||
|
||||
[TestMethod]
|
||||
[DataRow("test@tiam.hu")]
|
||||
public void GetUserByEmail_ReturnsUser_WhenUserExists(string email)
|
||||
public virtual void GetUserByEmail_ReturnsUser_WhenUserExists(string email)
|
||||
{
|
||||
var user = Dal.GetUserByEmail(email);
|
||||
|
||||
|
|
@ -35,7 +35,7 @@ namespace AyCode.Database.Tests.Users
|
|||
|
||||
[TestMethod]
|
||||
[DataRow("test@tiam.hu")]
|
||||
public async Task GetUserByEmailAsync_ReturnsUser_WhenUserExists(string email)
|
||||
public virtual async Task GetUserByEmailAsync_ReturnsUser_WhenUserExists(string email)
|
||||
{
|
||||
TUser? user = null;
|
||||
|
||||
|
|
|
|||
|
|
@ -14,14 +14,11 @@ using AyCode.Database.DbSets.Users;
|
|||
|
||||
namespace AyCode.Database.DataLayers.Users
|
||||
{
|
||||
public abstract class AcUserDalBase<TDbContext, TUser, TUserToken> : AcDalBase<TDbContext>, IAcUserDbContextBase<TUser, TUserToken>
|
||||
public abstract class AcUserDalBase<TDbContext, TUser, TUserToken> : AcDalBase<TDbContext>
|
||||
where TDbContext : AcDbContextBase, IAcUserDbContextBase<TUser, TUserToken>
|
||||
where TUser : class, IUserBase
|
||||
where TUserToken : class, IUserTokenBase
|
||||
{
|
||||
public DbSet<TUser> Users { get; set; }
|
||||
public DbSet<TUserToken> UserTokens { get; set; }
|
||||
|
||||
public TUser? GetUserById(Guid userId) => Session(x => x.GetUserById(userId));
|
||||
public Task<TUser?> GetUserByIdAsync(Guid userId) => SessionAsync(x => x.GetUserById(userId));
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using AyCode.Interfaces.Users;
|
||||
using AyCode.Core.Logger;
|
||||
using AyCode.Interfaces.Users;
|
||||
|
||||
namespace AyCode.Database.DbSets.Users;
|
||||
|
||||
|
|
@ -11,6 +12,8 @@ public static class AcUserDbSetExtensions
|
|||
|
||||
public static TUser? GetUserByEmail<TUser>(this IAcUserDbSet<TUser> ctx, string email) where TUser : class, IUserBase
|
||||
{
|
||||
Logger.Info($"GetUserByEmail: {email}");
|
||||
|
||||
var emailLower = email.ToLower();
|
||||
return ctx.Users.FirstOrDefault(u => u.EmailAddress == emailLower);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue