feat: Moves logger to a separate assembly for reuse (#2001)
This commit is contained in:
parent
333b40872a
commit
9d0d454b4e
8 changed files with 32 additions and 0 deletions
|
|
@ -1,36 +0,0 @@
|
|||
/*************************************************************************
|
||||
* ModernUO *
|
||||
* Copyright 2019-2023 - ModernUO Development Team *
|
||||
* Email: hi@modernuo.com *
|
||||
* File: ILogger.cs *
|
||||
* *
|
||||
* This program is free software: you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation, either version 3 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
|
||||
*************************************************************************/
|
||||
|
||||
using System;
|
||||
|
||||
namespace Server.Logging;
|
||||
|
||||
public interface ILogger
|
||||
{
|
||||
void Debug(string message, params object[] args);
|
||||
void Debug(Exception exception, string message, params object[] args);
|
||||
|
||||
void Information(string message, params object[] args);
|
||||
void Information(Exception exception, string message, params object[] args);
|
||||
|
||||
void Warning(string message, params object[] args);
|
||||
void Warning(Exception exception, string message, params object[] args);
|
||||
|
||||
void Error(string message, params object[] args);
|
||||
void Error(Exception exception, string message, params object[] args);
|
||||
|
||||
void Fatal(string message, params object[] args);
|
||||
void Fatal(Exception exception, string message, params object[] args);
|
||||
}
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
/*************************************************************************
|
||||
* ModernUO *
|
||||
* Copyright 2019-2023 - ModernUO Development Team *
|
||||
* Email: hi@modernuo.com *
|
||||
* File: LogFactory.cs *
|
||||
* *
|
||||
* This program is free software: you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation, either version 3 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
|
||||
*************************************************************************/
|
||||
|
||||
using System;
|
||||
using Serilog;
|
||||
|
||||
namespace Server.Logging;
|
||||
|
||||
public static class LogFactory
|
||||
{
|
||||
private static readonly Serilog.ILogger serilogLogger = new LoggerConfiguration()
|
||||
.WriteTo.Async(a => a.Console(
|
||||
outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj} <s:{SourceContext}>{NewLine}{Exception}"
|
||||
))
|
||||
#if DEBUG
|
||||
.MinimumLevel.Debug()
|
||||
#endif
|
||||
.CreateLogger();
|
||||
|
||||
public static ILogger GetLogger(Type declaringType) => new SerilogLogger(serilogLogger.ForContext(declaringType));
|
||||
}
|
||||
|
|
@ -1,67 +0,0 @@
|
|||
/*************************************************************************
|
||||
* ModernUO *
|
||||
* Copyright 2019-2023 - ModernUO Development Team *
|
||||
* Email: hi@modernuo.com *
|
||||
* File: SerilogLogger.cs *
|
||||
* *
|
||||
* This program is free software: you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation, either version 3 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
|
||||
*************************************************************************/
|
||||
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace Server.Logging;
|
||||
|
||||
public class SerilogLogger : ILogger
|
||||
{
|
||||
private readonly Serilog.ILogger serilogLogger;
|
||||
|
||||
public SerilogLogger(Serilog.ILogger serilogLogger) =>
|
||||
this.serilogLogger = serilogLogger;
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void Debug(string message, params object[] args) =>
|
||||
serilogLogger.Debug(message, args);
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void Debug(Exception exception, string message, params object[] args) =>
|
||||
serilogLogger.Debug(exception, message, args);
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void Information(string message, params object[] args) =>
|
||||
serilogLogger.Information(message, args);
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void Information(Exception exception, string message, params object[] args) =>
|
||||
serilogLogger.Information(exception, message, args);
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void Warning(string message, params object[] args) =>
|
||||
serilogLogger.Warning(message, args);
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void Warning(Exception exception, string message, params object[] args) =>
|
||||
serilogLogger.Warning(exception, message, args);
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void Error(string message, params object[] args) =>
|
||||
serilogLogger.Error(message, args);
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void Error(Exception exception, string message, params object[] args) =>
|
||||
serilogLogger.Error(exception, message, args);
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void Fatal(string message, params object[] args) =>
|
||||
serilogLogger.Fatal(message, args);
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void Fatal(Exception exception, string message, params object[] args) =>
|
||||
serilogLogger.Fatal(exception, message, args);
|
||||
}
|
||||
|
|
@ -33,6 +33,7 @@
|
|||
<Delete Files="..\..\Distribution\System.IO.Hashing.dll" ContinueOnError="true" />
|
||||
</Target>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Logger\Logger.csproj" />
|
||||
<PackageReference Include="CommunityToolkit.HighPerformance" Version="8.4.0" />
|
||||
<PackageReference Include="LibDeflate.Bindings" Version="1.0.2.120" />
|
||||
<PackageReference Include="PollGroup" Version="1.6.1" />
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue