/*-----------------------------------------------------------------
* 作 者(Author): Dennis
* 日 期(Create Date): 2021/9/3 16:11:39
* 公 司(Copyright): www.dennisdong.top
* 文件名(File Name): LogFileHelper
* ----------------------------------------------------------------
* 描 述(Description):
*----------------------------------------------------------------*/ using System;
using System.IO; namespace Anta.Common.Helpers
{
/// <summary>
/// 自定义文件写入
/// </summary>
public class LogFileHelper
{
private static readonly object LogLock = new object(); /// <summary>
/// 日志默认存放路径
/// </summary>
private static readonly string LogPath = $@"{AppDomain.CurrentDomain.BaseDirectory}\LogFiles\"; #region WriteLog /// <summary>
/// 只记录信息
/// </summary>
/// <param name="msg">内容</param>
public static void WriteLog(string msg)
{
WriteLog(null, null, msg);
} /// <summary>
/// 路径加信息
/// </summary>
/// <param name="filePath">相对路径</param>
/// <param name="msg">内容</param>
public static void WriteLog(string filePath, string msg)
{
WriteLog(filePath, null, msg);
} /// <summary>
/// 写入日志
/// </summary>
/// <param name="filePath">相对路径</param>
/// <param name="fileName">文件名</param>
/// <param name="msg">内容</param>
public static void WriteLog(string filePath, string fileName, string msg)
{
lock (LogLock)
{
try
{
if (string.IsNullOrEmpty(filePath))
{
filePath = "LogDefault";
} filePath = LogPath + filePath;
if (!Directory.Exists(filePath))//判断是否有该文件
Directory.CreateDirectory(filePath); if (string.IsNullOrEmpty(fileName))
{
fileName = DateTime.Now.ToString("yyyyMMdd");
}
var logFileName = filePath + "/" + fileName + ".log";//生成日志文件 var fs = !File.Exists(logFileName) ? new FileStream(logFileName, FileMode.Create) : new FileStream(logFileName, FileMode.Append); var sw = new StreamWriter(fs);
sw.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss} \n{msg}");
sw.Flush();
sw.Close();
}
catch (Exception e)
{
var path = LogPath + "/LogError"; if (!Directory.Exists(path))
Directory.CreateDirectory(path);
var logFileName = path + "/" + DateTime.Now.ToString("yyyyMMdd") + ".log"; var fs = !File.Exists(logFileName) ? new FileStream(logFileName, FileMode.Create) : new FileStream(logFileName, FileMode.Append); var sw = new StreamWriter(fs);
sw.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss} \n{msg} \n {e.Message}");
sw.Flush();
sw.Close();
}
}
} #endregion
}
}

最新文章

  1. node-sass报错解决方法
  2. eayui datagrid 分页 排序 详解
  3. .net学习之委托和事件
  4. CUBRID学习笔记 43 insert into
  5. 2013/7/17 HNU_训练赛5
  6. (转)Linux下用mkisofs制作光盘镜像ISO文件
  7. sql语句面试总结
  8. ACM1019_最大公倍数
  9. sql/plus 常用操作
  10. java数组:去重,增加,删除元素
  11. Luogu3242:[HNOI2015]接水果
  12. python迭代和切片
  13. Bandwagon的配置记录(二) —— ftp文件传输
  14. Flutter中使用sqlite
  15. Linq:使用Take和Skip实现分页
  16. B - 签到题
  17. InnoDB体系架构(一)后台线程
  18. 【BZOJ4738/UOJ#276】汽水(点分治,分数规划)
  19. 一次UNITY闪退问题的定位心得
  20. ODI 创建Java EE Agent

热门文章

  1. 基于python的数学建模---洛伦兹线与数值解
  2. C++初阶(list容器+模拟实现)
  3. php + layui 文件上传 以及 拖拽上传
  4. SSH SCP 使用秘钥验证 登录
  5. 【Devexpress】Gridcontrol列标题换行
  6. 使用.NET7和C#11打造最快的序列化程序-以MemoryPack为例
  7. 疫情可视化part3
  8. Docker常用命令、Docker Compose、DockerFile实践
  9. java抽象类的定义和使用
  10. Qt开发:Windows 下进程间通信的可行桥梁:窗体消息SendMessage