|
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<string, object> dic = new Dictionary<string, object>
|
{
|
{"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
|
}
|
}
|