mirror of
https://github.com/anjoy8/Blog.Core.git
synced 2024-09-20 23:48:27 +08:00
fix:rename log
This commit is contained in:
parent
c94500ac0c
commit
fa6ce50e42
|
@ -83,6 +83,24 @@ namespace Blog.Core.Common.Helper
|
|||
|
||||
return Path.Combine(folderPath, $@"{prefix}_{DateTime.Now.DateToTimeStamp()}.log");
|
||||
}
|
||||
public static string GetAvailableFileNameWithPrefixOrderSize(string _contentRoot, string prefix, int size = 1 * 1024 * 1024, string ext = ".log")
|
||||
{
|
||||
var folderPath = Path.Combine(_contentRoot, "Log");
|
||||
if (!Directory.Exists(folderPath))
|
||||
{
|
||||
Directory.CreateDirectory(folderPath);
|
||||
}
|
||||
|
||||
var allFiles = new DirectoryInfo(folderPath);
|
||||
var selectFiles = allFiles.GetFiles().Where(fi => fi.Name.ToLower().Contains(prefix.ToLower()) && fi.Extension.ToLower() == ext.ToLower() && fi.Length < size).OrderByDescending(d => d.Name).ToList();
|
||||
|
||||
if (selectFiles.Count > 0)
|
||||
{
|
||||
return selectFiles.FirstOrDefault().Name.Replace(".log","");
|
||||
}
|
||||
|
||||
return $@"{prefix}_{DateTime.Now.DateToTimeStamp()}";
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 写文件
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
using Blog.Core.Common;
|
||||
using Blog.Core.Common.Helper;
|
||||
using Blog.Core.Common.LogHelper;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
|
@ -17,13 +19,16 @@ namespace Blog.Core.Middlewares
|
|||
///
|
||||
/// </summary>
|
||||
private readonly RequestDelegate _next;
|
||||
private readonly IWebHostEnvironment _environment;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="next"></param>
|
||||
public IPLogMildd(RequestDelegate next)
|
||||
public IPLogMildd(RequestDelegate next, IWebHostEnvironment environment)
|
||||
{
|
||||
_next = next;
|
||||
_environment = environment;
|
||||
}
|
||||
|
||||
public async Task InvokeAsync(HttpContext context)
|
||||
|
@ -53,11 +58,12 @@ namespace Blog.Core.Middlewares
|
|||
// 自定义log输出
|
||||
//Parallel.For(0, 1, e =>
|
||||
//{
|
||||
// LogLock.OutSql2Log("RequestIpInfoLog", new string[] { requestInfo + "," }, false);
|
||||
LogLock.OutSql2Log("RequestIpInfoLog", new string[] { requestInfo + "," }, false);
|
||||
//});
|
||||
|
||||
// 这种方案也行,用的是Serilog
|
||||
SerilogServer.WriteLog("RequestIpInfoLog", new string[] { requestInfo + "," }, false);
|
||||
var logFileName = FileHelper.GetAvailableFileNameWithPrefixOrderSize(_environment.ContentRootPath, "RequestIpInfoLog");
|
||||
SerilogServer.WriteLog(logFileName, new string[] { requestInfo + "," }, false);
|
||||
|
||||
request.Body.Position = 0;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
using Blog.Core.Common;
|
||||
using Blog.Core.Common.Helper;
|
||||
using Blog.Core.Common.HttpContextUser;
|
||||
using Blog.Core.Common.LogHelper;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Newtonsoft.Json;
|
||||
|
@ -25,17 +27,19 @@ namespace Blog.Core.Middlewares
|
|||
private readonly RequestDelegate _next;
|
||||
private readonly IUser _user;
|
||||
private readonly ILogger<RecordAccessLogsMildd> _logger;
|
||||
private readonly IWebHostEnvironment _environment;
|
||||
private Stopwatch _stopwatch;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="next"></param>
|
||||
public RecordAccessLogsMildd(RequestDelegate next, IUser user, ILogger<RecordAccessLogsMildd> logger)
|
||||
public RecordAccessLogsMildd(RequestDelegate next, IUser user, ILogger<RecordAccessLogsMildd> logger, IWebHostEnvironment environment)
|
||||
{
|
||||
_next = next;
|
||||
_user = user;
|
||||
_logger = logger;
|
||||
_environment = environment;
|
||||
_stopwatch = new Stopwatch();
|
||||
}
|
||||
|
||||
|
@ -107,7 +111,9 @@ namespace Blog.Core.Middlewares
|
|||
// LogLock.OutSql2Log("RecordAccessLogs", new string[] { requestInfo + "," }, false);
|
||||
//});
|
||||
|
||||
SerilogServer.WriteLog("RecordAccessLogs", new string[] { requestInfo + "," }, false);
|
||||
var logFileName = FileHelper.GetAvailableFileNameWithPrefixOrderSize(_environment.ContentRootPath, "RecordAccessLogs");
|
||||
SerilogServer.WriteLog(logFileName, new string[] { requestInfo + "," }, false);
|
||||
|
||||
|
||||
return Task.CompletedTask;
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue
Block a user