using System; using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; namespace SKMC.Api.Common.Logger { public class LogFactory { /// /// "Log4Net" 或 "NLog" /// private static readonly string LoggerType = "Log4Net"; public static ILogger Get(Type type) { if (LoggerType == "Log4Net") { return new Log4netLogger(type); } else if (LoggerType == "NLog") { return new NLogLogger(type.FullName); } else { throw new NotSupportedException($"Logger type {LoggerType} is not supported."); } } public static ILogger Get([CallerFilePath] string callerFilePath = "") { var callerType = System.IO.Path.GetFileNameWithoutExtension(callerFilePath); if (LoggerType == "Log4Net") { return new Log4netLogger(callerType); } else if (LoggerType == "NLog") { return new NLogLogger(callerType); } else { throw new NotSupportedException($"Logger type {LoggerType} is not supported."); } } } }