/// <summary>
/// 日志处理帮助类
/// </summary>
public class LogHelper
{
private static Queue<string> ErrorQueue = new Queue<string>();
static Action<string> errorAction;
static string LogPath => System.Web.Hosting.HostingEnvironment.MapPath($"/App_Data/Log/{DateTime.Now.ToString("yyyyMMdd")}.txt");
static LogHelper()
{
errorAction += WriteFile;
Task.Run(() =>
{
while (true)
{
if (ErrorQueue.Count > )
{
lock (ErrorQueue)
{
var txt = ErrorQueue.Dequeue(); //出队列
errorAction?.Invoke(txt); //写日志
}
}
else
{
Task.Delay();
}
}
});
} /// <summary>
/// 讲内容写入日志队列中
/// </summary>
/// <param name="errorText"></param>
public static void WriteLog(string errorText)
{
lock (ErrorQueue)
{
ErrorQueue.Enqueue(errorText); //进队列
}
} /// <summary>
/// 写入文本文件
/// </summary>
/// <param name="txt"></param>
static void WriteFile(string txt)
{
using (System.IO.FileStream fs = new System.IO.FileStream(LogPath, System.IO.FileMode.Append, System.IO.FileAccess.Write))
{
var byteStr = Encoding.Default.GetBytes(txt);
fs.Write(byteStr, , byteStr.Length);
}
}
}

Asp.Net Mvc日志处理帮助类

最新文章

  1. PHP发送短信功能
  2. 浅析Java中CountDownLatch用法
  3. Android 自学之拖动条SeekBar
  4. MATLAB-ginput函数问题
  5. Directive Definition Object
  6. 微信开发模式 api 接口文档简介
  7. [Zabbix3.0] 添加MySQL监控
  8. 从RDS中获取binlog
  9. Orchard详解--第八篇 拓展模块及引用的预处理
  10. bsxfun, arrayfun, cellfun, spfun, structfun
  11. centos 7 vim 保存文件 root 权限 及 使用
  12. 关于HttpClient,HttpURLConnection,OkHttp的用法
  13. 【转】python中的字符数字之间的转换函数
  14. apache用户认证 域名跳转 Apache访问日志
  15. LeetCode 79 Word Search(单词查找)
  16. win环境下使用sqlmap写shell + MYSQL提权(默认就是system权限)
  17. 2nd 本周例行报告
  18. [DeeplearningAI笔记]序列模型2.3-2.5余弦相似度/嵌入矩阵/学习词嵌入
  19. 十七 能停止的线程 暴力停止 和 interrupt/return方法
  20. Django ajax方法提交表单,及后端接受数据

热门文章

  1. Python 最强 IDE 详细使用指南!-PyCharm
  2. 学习Python前言
  3. 「SAP 技术」SAP MM 给合同的ITEM上传附件以及附件查询
  4. yum工具及源码包
  5. centos 7下配置阿里yum源
  6. (一)JVM快速回顾总结
  7. xampp配置虚拟域名
  8. 201871010113-刘兴瑞《面向对象程序设计(java)》第四周学习总结
  9. JavaScript 看不见的类型转换
  10. django内容回顾: