博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#写文本日志帮助类(支持多线程)
阅读量:6830 次
发布时间:2019-06-26

本文共 1435 字,大约阅读时间需要 4 分钟。

hot3.png

using System;

using System.Configuration;

using System.IO;

using System.Threading;

 

namespace FQDService.Utils

{

    /// <summary>

    /// 写日志类

    /// </summary>

    public class FileLogger

    {

        #region 字段

        public static readonly object _lock = new object();

        #endregion

 

        #region 写文件

        /// <summary>

        /// 写文件

        /// </summary>

        public static void WriteFile(string log, string path)

        {

            Thread thread = new Thread(new ParameterizedThreadStart(delegate(object obj)

            {

                lock (_lock)

                {

                    if (!File.Exists(path))

                    {

                        using (FileStream fs = new FileStream(path, FileMode.Create)) { }

                    }

 

                    using (FileStream fs = new FileStream(path, FileMode.Append, FileAccess.Write))

                    {

                        using (StreamWriter sw = new StreamWriter(fs))

                        {

                            #region 日志内容

                            string value = string.Format(@"{0}

--------------------------------------------------------

{1}

 

", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), obj.ToString());

                            #endregion

 

                            sw.WriteLine(value);

                            sw.Flush();

                        }

                    }

                }

            }));

            thread.Start(log);

        }

        #endregion

 

        #region 写日志

        /// <summary>

        /// 写日志

        /// </summary>

        public static void WriteLog(string log)

        {

            string logPath = ConfigurationManager.AppSettings["LogPath"] + "\\FQDService_Log.txt";

            WriteFile(log, logPath);

        }

        #endregion

 

        #region 写错误日志

        /// <summary>

        /// 写错误日志

        /// </summary>

        public static void WriteErrorLog(string log)

        {

            string logPath = ConfigurationManager.AppSettings["LogPath"] + "\\FQDService_ErrorLog.txt";

            WriteFile(log, logPath);

        }

        #endregion

 

    }

}

转载于:https://my.oschina.net/guanxinsui/blog/968088

你可能感兴趣的文章
qt添加图标
查看>>
字节流高效缓冲区文件复制
查看>>
ColorMatrixColorFilter颜色过滤(离线用户的灰色头像处理)
查看>>
react:reducer-creator
查看>>
MyEclipse 总是弹出“multiple Errors have Occurred”
查看>>
sas实例合集
查看>>
C语言解释器的实现--存储结构(一)
查看>>
Java Eclipse常规设置
查看>>
adb的常用命令
查看>>
【leetcode】403. Frog Jump
查看>>
【leetcode】640. Solve the Equation
查看>>
050、创建overlay网络(2019-03-15 周五)
查看>>
依那西普治疗1年能改善AS患者全身MRI(WBMRI)证实的多灶性炎症损害
查看>>
CSS3 Gradient线性渐变
查看>>
CSS3 animation
查看>>
清华学堂 列车调度(Train)
查看>>
Linux之vi/vim
查看>>
Mvc中表单提交的文本控件的name属性的重要性
查看>>
VBS变量名和标识符的介绍(转)
查看>>
hudson搭建第一步环境配置
查看>>