添加项目文件。

This commit is contained in:
chfei committed 2026-08-14 18:00:58 +08:00
1 parent 6a017c9547
commit 58abbb5b4f
86 files changed
+8729

No files matched your search

+124
View File
@@ -0,0 +1,124 @@
using System;
using System.Diagnostics;
using System.Globalization;
using System.IO;
namespace MAX.Core.Logger;
/// <summary>
/// Implementation of <see cref="ILoggerBase"/> that logs into a <see cref="TextWriter"/>.
/// </summary>
public class ConsoleLogger : ILoggerFacade
{
private readonly bool _debug;
private readonly bool _console;
public bool IsDebugEnabled => true;
/// <summary>
/// Initializes a new instance of <see cref="ConsoleLogger"/> that writes to
/// the console output.
/// </summary>
public ConsoleLogger(bool debug = true, bool console = true)
{
_debug = debug;
_console = console;
}
///// <summary>
///// Disposes the associated <see cref="TextWriter"/>.
///// </summary>
///// <param name="disposing">When <see langword="true"/>, disposes the associated <see cref="TextWriter"/>.</param>
//protected virtual void Dispose(bool disposing)
//{
// if (disposing)
// {
// writer?.Dispose();
// }
//}
///<summary>
///Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
///</summary>
/// <remarks>Calls <see cref="Dispose(bool)"/></remarks>.
///<filterpriority>2</filterpriority>
public void Dispose()
{
GC.SuppressFinalize(this);
}
public void Debug(Exception ex, string message)
{
Log(message, LogLevel.Debug);
}
public void Debug(string message)
{
Log(message, LogLevel.Debug);
}
public void Info(Exception ex, string message)
{
Log(message, LogLevel.Info);
}
public void Info(string message)
{
Log(message, LogLevel.Info);
}
public void Warn(Exception ex, string message)
{
Log(message, LogLevel.Warn);
}
public void Warn(string message)
{
Log(message, LogLevel.Warn);
}
public void Error(Exception ex, string message)
{
Log(message, LogLevel.Error);
}
public void Error(string message)
{
Log(message, LogLevel.Error);
}
public void Fatal(Exception ex, string message)
{
Log(message, LogLevel.Fatal);
}
public void Fatal(string message)
{
Log(message, LogLevel.Fatal);
}
public void Error(Exception ex)
{
Log(ex.Message, LogLevel.Error);
}
public void Log(string message, LogLevel level)
{
string messageToLog = string.Format(CultureInfo.InvariantCulture, "{1}: {2}. Timestamp:{0:u}.", DateTime.Now,
level.ToString().ToUpper(CultureInfo.InvariantCulture), message);
//Trace.WriteLine(messageToLog);
if (_debug)
{
System.Diagnostics.Debug.WriteLine(messageToLog);
}
if (_console)
{
Console.WriteLine(messageToLog);
}
}
}
+12
View File
@@ -0,0 +1,12 @@
using MAX.Core.Infrastructure;
namespace MAX.Core.Logger;
/// <summary>自定义日志记录器接口</summary>
public interface ICustomLogger
{
/// <summary>记录日志信息</summary>
/// <param name="group">日志分组</param>
/// <param name="message">日志内容</param>
void Log(string group, string message);
}
+68
View File
@@ -0,0 +1,68 @@
using System;
namespace MAX.Core.Logger;
/// <summary>
/// 日志操作
/// </summary>
public interface ILoggerFacade
{
/// <summary>
/// 调试级别是否启用
/// </summary>
bool IsDebugEnabled { get; }
/// <summary>
/// 调试
/// </summary>
void Debug(Exception ex, string message);
/// <summary>
/// 调试
/// </summary>
/// <param name="message">日志消息</param>
void Debug(string message);
/// <summary>
/// 信息
/// </summary>
void Info(Exception ex, string message);
/// <summary>
/// 信息
/// </summary>
/// <param name="message">日志消息</param>
void Info(string message);
/// <summary>
/// 警告
/// </summary>
void Warn(Exception ex, string message);
/// <summary>
/// 警告
/// </summary>
/// <param name="message">日志消息</param>
void Warn(string message);
/// <summary>
/// 错误
/// </summary>
void Error(Exception ex, string message);
/// <summary>
/// 错误
/// </summary>
/// <param name="message">日志消息</param>
void Error(string message);
/// <summary>
/// 致命错误
/// </summary>
void Fatal(Exception ex, string message);
/// <summary>
/// 致命错误
/// </summary>
/// <param name="message">日志消息</param>
void Fatal(string message);
void Error(Exception ex);
/// <summary>
/// 写入日志
/// </summary>
/// <param name="message"></param>
/// <param name="level"></param>
void Log(string message, LogLevel level);
}
+15
View File
@@ -0,0 +1,15 @@
namespace MAX.Core.Logger;
/// <summary>
/// 日志等级
/// </summary>
public enum LogLevel
{
Trace = 0,
Debug = 1,
Info = 2,
Warn = 3,
Error = 4,
Fatal = 5,
None = 6
}