mirror of
https://github.com/nsnail/ns-ext.git
synced 2025-04-19 00:02:50 +08:00

* <chore> * 1.0.7 * <adjust> * <chore> * <chore> * <refactor> * <doc> * <doc> * <feat> + Unicode,UnicodeDe * <revert> * <fix> * bugfix * <feat> 从资源文件读取Description * <feat> 从资源文件读取Description-可继承 * <fix> 将一个对象序列化成json文本 * <chore> * 调整一下日志格式 * feat: * 泛型特性本地化资源描述 * 添加测试项目 * <chore> * feat: enum、string * feat: long 类型增加rand方法 * feat: ToInvString * fix: ToInvString * fix: ToInvString * fix: ParameterFormat bug * [BLD] [SKIP CI]
83 lines
4.3 KiB
C#
83 lines
4.3 KiB
C#
// ReSharper disable TemplateIsNotCompileTimeConstantProblem
|
|
|
|
namespace NSExt.Extensions;
|
|
|
|
/// <summary>
|
|
/// LoggerExtensions
|
|
/// </summary>
|
|
public static class LoggerExtensions
|
|
{
|
|
private const string _MESSAGE_S_THREAD_ID_CALLER_NAME_CALLER_FILE_PATH_CALLER_LINE_NUMBER
|
|
= "{Message} <s:{CallerName}@{CallerFilePath}:{CallerLineNumber}>";
|
|
|
|
private static readonly Action<ILogger, string, string, string, string, Exception> _logDebug
|
|
= LoggerMessage.Define<string, string, string, string>(LogLevel.Debug, default
|
|
, _MESSAGE_S_THREAD_ID_CALLER_NAME_CALLER_FILE_PATH_CALLER_LINE_NUMBER);
|
|
|
|
private static readonly Action<ILogger, string, string, string, string, Exception> _logError
|
|
= LoggerMessage.Define<string, string, string, string>(LogLevel.Error, default
|
|
, _MESSAGE_S_THREAD_ID_CALLER_NAME_CALLER_FILE_PATH_CALLER_LINE_NUMBER);
|
|
|
|
private static readonly Action<ILogger, string, string, string, string, Exception> _logFatal
|
|
= LoggerMessage.Define<string, string, string, string>(LogLevel.Critical, default
|
|
, _MESSAGE_S_THREAD_ID_CALLER_NAME_CALLER_FILE_PATH_CALLER_LINE_NUMBER);
|
|
|
|
private static readonly Action<ILogger, string, string, string, string, Exception> _logInfo
|
|
= LoggerMessage.Define<string, string, string, string>(LogLevel.Information, default
|
|
, _MESSAGE_S_THREAD_ID_CALLER_NAME_CALLER_FILE_PATH_CALLER_LINE_NUMBER);
|
|
|
|
private static readonly Action<ILogger, string, string, string, string, Exception> _logWarn
|
|
= LoggerMessage.Define<string, string, string, string>(LogLevel.Warning, default
|
|
, _MESSAGE_S_THREAD_ID_CALLER_NAME_CALLER_FILE_PATH_CALLER_LINE_NUMBER);
|
|
|
|
/// <summary>
|
|
/// Debug
|
|
/// </summary>
|
|
public static void Debug(this ILogger me, object message, [CallerMemberName] string callerName = null
|
|
, [CallerFilePath] string callerFilePath = null, [CallerLineNumber] int callerLineNumber = 0)
|
|
{
|
|
_logDebug(me, message.ToString(), callerName, Path.GetFileName(callerFilePath)
|
|
, callerLineNumber.ToString(CultureInfo.InvariantCulture), null);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Error
|
|
/// </summary>
|
|
public static void Error(this ILogger me, object message, [CallerMemberName] string callerName = null
|
|
, [CallerFilePath] string callerFilePath = null, [CallerLineNumber] int callerLineNumber = 0)
|
|
{
|
|
_logError(me, message.ToString(), callerName, Path.GetFileName(callerFilePath)
|
|
, callerLineNumber.ToString(CultureInfo.InvariantCulture), null);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Fatal
|
|
/// </summary>
|
|
public static void Fatal(this ILogger me, object message, Exception ex = null
|
|
, [CallerMemberName] string callerName = null, [CallerFilePath] string callerFilePath = null
|
|
, [CallerLineNumber] int callerLineNumber = 0)
|
|
{
|
|
_logFatal(me, message.ToString(), callerName, Path.GetFileName(callerFilePath)
|
|
, callerLineNumber.ToString(CultureInfo.InvariantCulture), ex);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Info
|
|
/// </summary>
|
|
public static void Info(this ILogger me, object message, [CallerMemberName] string callerName = null
|
|
, [CallerFilePath] string callerFilePath = null, [CallerLineNumber] int callerLineNumber = 0)
|
|
{
|
|
_logInfo(me, message.ToString(), callerName, Path.GetFileName(callerFilePath)
|
|
, callerLineNumber.ToString(CultureInfo.InvariantCulture), null);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Warn
|
|
/// </summary>
|
|
public static void Warn(this ILogger me, object message, [CallerMemberName] string callerName = null
|
|
, [CallerFilePath] string callerFilePath = null, [CallerLineNumber] int callerLineNumber = 0)
|
|
{
|
|
_logWarn(me, message.ToString(), callerName, Path.GetFileName(callerFilePath)
|
|
, callerLineNumber.ToString(CultureInfo.InvariantCulture), null);
|
|
}
|
|
} |