using Microsoft.AspNetCore.Http; using Newtonsoft.Json; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Core.DB; using WIDESEA_Core.Helper; using WIDESEA_Core.HttpContextUser; using WIDESEA_Core.Seed; namespace WIDESEA_Core.LogHelper { partial class Logger1 { public static void Debug(string message) { } public static void Debug(string message, Exception exception) { } public static void Info(string message) { } public static void Info(string message, Exception exception) { } public static void Warn(string message) { } public static void Warning(string message, Exception exception) { } public static void Error(string message) { } public static void Error(string message, Exception exception) { } public static void Fatal(string message) { } public static void Fatal(string message, Exception exception) { } public static void Write_Log(string groupName, string logName, string content, object data = null) { DateTime nowTime = DateTime.Now; string basePath = System.Environment.CurrentDirectory + "/Log/" + $"/{groupName}/{nowTime.ToString("yyyy-MM-dd")}"; //如果日志文件目录不存在,则创建 if (!Directory.Exists(basePath)) { Directory.CreateDirectory(basePath); } try { FileStream fs = new FileStream(basePath + "/" + logName + $"{nowTime.ToString("yyMMdd")}.txt", FileMode.Append); StreamWriter strwriter = new StreamWriter(fs); try { strwriter.WriteLine(nowTime.ToString() + "." + nowTime.Millisecond); strwriter.WriteLine(content); if (data != null) { strwriter.WriteLine(JsonConvert.SerializeObject(data)); } strwriter.WriteLine("-------------------------------"); strwriter.WriteLine(); strwriter.Flush(); } catch { } finally { strwriter.Close(); fs.Close(); } } catch { } } public static void WriteApiLog2DB(HttpContext context, string requestParameter, DateTime beginDate, string responseParameter, DateTime endDate, LoggerStatus loggerStatus) { try { if (context.Request.Method == "OPTIONS") return; if (context == null) { Console.WriteLine($"未获取到httpcontext信息,reqParam:{requestParameter},respParam:{responseParameter},success:{loggerStatus}"); return; } Dictionary dic = new Dictionary { {"BeginDate",beginDate }, {"ElapsedTime",(endDate - beginDate).TotalMilliseconds.DoubleToInt() }, {"EndDate",endDate }, {"RequestParam",requestParameter }, {"ResponseParam",responseParameter }, {"Success",1 }, {"Url",context.Request.Path.Value??"" }, {"UserIP",context.GetUserIp() }, {"UserName","App.User?.Name" }, {"User_Id","0" } //{"BeginDate",beginDate }, //{"ElapsedTime",(endDate - beginDate).TotalMilliseconds.ObjToInt() }, //{"EndDate",endDate }, //{"RequestParam",requestParameter }, //{"ResponseParam",responseParameter }, //{"Success",1 }, //{"Url",context.Request.Path.Value??"" }, //{"UserIP",context.GetUserIp() }, //{"UserName","App.User?.Name" }, //{"User_Id","App.User?.ID" } }; SqlSugarClient sqlSugarClient = DBContext.GetCustomDB(DBContext.GetConnectionConfig()); sqlSugarClient.Insertable(dic).AS("Sys_Log").ExecuteCommand(); } catch (Exception ex) { } } } public enum LoggerStatus { Success = 1, Error = 2, Info = 3 } }