fix:rename log

This commit is contained in:
anjoy8 2021-05-14 19:25:10 +08:00
parent c94500ac0c
commit fa6ce50e42
3 changed files with 35 additions and 5 deletions

View File

@ -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

View File

@ -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;
}

View File

@ -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;
});