版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010690818/article/details/80183486
//获取请求参数信息 放在 public class ApiBaseController : Controller 里
protected string PostParameter()
{
var byts = new byte[System.Web.HttpContext.Current.Request.InputStream.Length];
System.Web.HttpContext.Current.Request.InputStream.Read(byts, 0, byts.Length);
return System.Text.Encoding.UTF8.GetString(byts);
}
namespace Sixcom.Common
{
public class LogHelp
{
private static string UsePath;
static LogHelp()
{
UsePath = AppDomain.CurrentDomain.BaseDirectory + @"Logs\";
}
/// <summary>
/// 保存日志
/// </summary>
/// <param name="msg">要记录的信息</param>
/// <param name="subfolder">保存路径的子文件夹( 多级之间用 '\' 分隔 例如:Car\info)</param>
public static void Log(LogType type, string msg,string subfolder = "")
{
StreamWriter sw = null;
try
{
//判断是否有子文件夹
if (!string.IsNullOrWhiteSpace(subfolder))
{
subfolder = subfolder + @"\";
}
string modules = $@"{UsePath}{subfolder}{type.ToString()}\";
if (!Directory.Exists(modules))
{
Directory.CreateDirectory(modules);
}
//文件名称
string fileName = string.Format($"{DateTime.Now.Date.ToString("yyyyMMdd")}.txt");
//日志路径+文件名 = 完全全路径
string FullPath = Path.Combine(modules, fileName);
sw = File.AppendText(FullPath);
sw.WriteLine($"{DateTime.Now} {msg}" );
sw.WriteLine($"******************************");
}
catch (Exception ex)
{
//日志异常不捕获,不影响程序 流程
//throw;
}
finally
{
if (sw != null)
{
sw.Flush();
sw.Close();
sw.Dispose();
}
}
}
}
/// <summary>
/// 记录类型
/// </summary>
public enum LogType
{
/// <summary>
/// 警告信息
/// </summary>
Debug = 0,
/// <summary>
/// 一般信息
/// </summary>
Info = 1,
/// <summary>
/// 警告信息
/// </summary>
Warn = 2,
/// <summary>
/// 异常信息
/// </summary>
Error = 3,
/// <summary>
/// 致命错误
/// </summary>
Fatal = 4,
}
}
//记录调用信息
LogHelp.Log(LogType.Info, $@"【url】:{Request.RawUrl}
【参数】:{ PostParameter()}", @"ShopApi");
//打印后的效果如下:
// 2018 / 5 / 3 16:59:18 【url】:/ ShopApiOrder / GetOreturnStatusByCode
//【参数】:UnionId = 1 & CompanyId = 3 & ShopId = -1 & UserId = 66 & Code = XST1000218010500004
//* *****************************