src/EasyFrameWork/Logging/FileLogger.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/* http://www.zkea.net/
* Copyright (c) ZKEASOFT. All rights reserved.
* http://www.zkea.net/licenses */
using Easy.Mvc.Extend;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using System;
using System.IO;
using System.Text;
namespace Easy.Logging
{
public class FileLogger : ILogger
{
static string _logFolder = "Logs";
const string _eventTime = "Event Time: {0}";
const string _splitLine = "----------------------------------------------------------------";
const string _logExtention = "{0}.log";
const string _logFileNameFormat = "yyyyMMdd";
private readonly string _contentRootPath;
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly string _loggerCategory;
public FileLogger(IHttpContextAccessor httpContextAccessor, string contentRootPath, string loggerCategory)
{
_contentRootPath = contentRootPath;
_loggerCategory = loggerCategory;
_httpContextAccessor = httpContextAccessor;
}
#region 私有方法
void WriteInfo(string msg)
{
lock (_logFolder)
{
string logPath = GetLogFile();
FileStream fs = new FileStream(logPath, FileMode.Append, FileAccess.Write);
StreamWriter writer = new StreamWriter(fs, Encoding.UTF8);
writer.WriteLine(_splitLine);
writer.WriteLine(_loggerCategory);
writer.WriteLine(string.Format(_eventTime, DateTime.Now.ToString("G")));
writer.WriteLine(msg);
if (_httpContextAccessor.HttpContext != null && _httpContextAccessor.HttpContext.Request != null)
{
writer.WriteLine("Method:{0}", _httpContextAccessor.HttpContext.Request.Method);
if (_httpContextAccessor.HttpContext.Request.Headers != null)
{
writer.WriteLine("Headers:");
foreach (var item in _httpContextAccessor.HttpContext.Request.Headers)
{
writer.WriteLine($"{item.Key}:{item.Value}");
}
}
writer.WriteLine(_httpContextAccessor.HttpContext.Request.GetAbsoluteUrl());
}
writer.WriteLine(_splitLine);
writer.Flush();
fs.Flush();
writer.Dispose();
fs.Dispose();
后面还有 40 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。