FastGithub/FastGithub.Configuration/LoggerExtensions.cs
xingyuan55 4d9d97f871 start
2022-11-16 08:01:03 +08:00

87 lines
3.3 KiB
C#

using Microsoft.Extensions.Logging;
using System;
namespace FastGithub
{
/// <summary>
/// 日志插值字符串扩展
/// </summary>
public static class LoggerExtensions
{
/// <summary>
/// 输出日志
/// </summary>
/// <param name="logger"></param>
/// <param name="level"></param>
/// <param name="formattableString"></param>
public static void Log(this ILogger logger, LogLevel level, FormattableString formattableString)
=> logger.Log(level, formattableString.Format, formattableString.GetArguments());
/// <summary>
/// 输出日志
/// </summary>
/// <param name="logger"></param>
/// <param name="level"></param>
/// <param name="error"></param>
/// <param name="formattableString"></param>
public static void Log(this ILogger logger, LogLevel level, Exception? error, FormattableString formattableString)
=> logger.Log(level, error, formattableString.Format, formattableString.GetArguments());
/// <summary>
/// 输出Trace日志
/// </summary>
/// <param name="logger"></param>
/// <param name="formattableString"></param>
public static void LogTrace(this ILogger logger, FormattableString formattableString)
=> logger.Log(LogLevel.Trace, formattableString);
/// <summary>
/// 输出Debug日志
/// </summary>
/// <param name="logger"></param>
/// <param name="formattableString"></param>
public static void LogDebug(this ILogger logger, FormattableString formattableString)
=> logger.Log(LogLevel.Debug, formattableString);
/// <summary>
/// 输出Information日志
/// </summary>
/// <param name="logger"></param>
/// <param name="formattableString"></param>
public static void LogInformation(this ILogger logger, FormattableString formattableString)
=> logger.Log(LogLevel.Information, formattableString);
/// <summary>
/// 输出Warning日志
/// </summary>
/// <param name="logger"></param>
/// <param name="formattableString"></param>
public static void LogWarning(this ILogger logger, FormattableString formattableString)
=> logger.Log(LogLevel.Warning, formattableString);
/// <summary>
/// 输出日志
/// </summary>
/// <param name="logger"></param>
/// <param name="formattableString"></param>
public static void LogError(this ILogger logger, FormattableString formattableString)
=> logger.Log(LogLevel.Error, formattableString);
/// <summary>
/// 输出日志
/// </summary>
/// <param name="logger"></param>
/// <param name="formattableString"></param>
public static void LogError(this ILogger logger, Exception error, FormattableString formattableString)
=> logger.Log(LogLevel.Error, error, formattableString);
/// <summary>
/// 输出Critical日志
/// </summary>
/// <param name="logger"></param>
/// <param name="formattableString"></param>
public static void LogCritical(this ILogger logger, FormattableString formattableString)
=> logger.Log(LogLevel.Critical, formattableString);
}
}