• C#记录日志文件的方法


    /**
    *┌──────────────────────────────────────────────────────────────┐
    *│ 描    述:日志相关的工具类                                                   
    *│ 作    者:执笔小白                                              
    *│ 版    本:1.0                                       
    *│ 创建时间:2021-10-13 15:40:56                            
    *└──────────────────────────────────────────────────────────────┘
    *┌──────────────────────────────────────────────────────────────┐
    *│ 命名空间: WMSTOMESTT                               
    *│ 类    名:ETools                                     
    *└──────────────────────────────────────────────────────────────┘
    */
    using System;
    using System.IO;
    
    namespace WMSTOMESTT
    {
        public class ETools
        {
            // 写日志
            public static void WriteLogFile(string input, string txtName)
            {
                try
                {          // exe的目录,web的请用:System.Web.Hosting.HostingEnvironment
                    // string logAdress = System.Environment.CurrentDirectory.ToString() + "\Log\";  // exe.config
                    string logAdress = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase.ToString() + "\Log\";  // dll.config
                    if (!System.IO.Directory.Exists(logAdress))
                    {
                        System.IO.Directory.CreateDirectory(logAdress);//不存在就创建目录   
                    }
    
                    string adress = logAdress + txtName;
                    if (!System.IO.Directory.Exists(adress))
                    {
                        System.IO.Directory.CreateDirectory(adress);//不存在就创建目录   
                    }
    
    
                    // string logAdress = ConfigurationManager.AppSettings["logAdress"].ToString();
                    /**/
                    ///指定日志文件的目录
                    string fname = adress + "\" + "log" + DateTime.Now.ToString("yy-MM-dd") + ".txt";
                    /**/
                    ///定义文件信息对象
    
                    FileInfo finfo = new FileInfo(fname);
    
                    if (!finfo.Exists)
                    {
                        FileStream fs;
                        fs = File.Create(fname);
                        fs.Close();
                        finfo = new FileInfo(fname);
                    }
    
                    /**/
                    ///判断文件是否存在以及是否大于2K
                    if (finfo.Length > 1024 * 1024 * 10)
                    {
                        /**/
                        ///文件超过10MB则重命名
                        File.Move(logAdress + "\Log\" + txtName + ".txt", Directory.GetCurrentDirectory() + DateTime.Now.TimeOfDay + "\Log\" + txtName + ".txt");
                        /**/
                        ///删除该文件
                        //finfo.Delete();
                    }
                    //finfo.AppendText();
                    /**/
                    ///创建只写文件流
    
                    using (FileStream fs = finfo.OpenWrite())
                    {
                        /**/
                        ///根据上面创建的文件流创建写数据流
                        StreamWriter w = new StreamWriter(fs);
    
                        /**/
                        ///设置写数据流的起始位置为文件流的末尾
                        w.BaseStream.Seek(0, SeekOrigin.End);
    
                        w.WriteLine("-----------------------Start-----------------------");
                        w.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                        /**/
                        ///写入当前系统时间并换行
    
                        /**/
                        ///写入日志内容并换行
                        w.WriteLine(input);
    
                        /**/
                        ///写入------------------------------------“并换行
                        w.WriteLine("------------------------END------------------------");
    
                        /**/
                        ///清空缓冲区内容,并把缓冲区内容写入基础流
                        w.Flush();
    
                        /**/
                        ///关闭写数据流
                        w.Close();
                    }
                }
                catch (Exception ex)
                { throw ex; }
            }
        }
        #region 例子
        public class ETest
        {
            public void WLogDemo()
            {
                StringBuilder strHead = new StringBuilder();
                strHead.AppendLine("*****记录*****");
                ETools.WriteLogFile(strHead.ToString(), "记录文件名");
            }
        }
        #endregion
    }

    补充:log4net (等下补充,还没有示例)

    365个夜晚,我希望做到两天更一篇博客。加油,小白!
  • 相关阅读:
    第一章复习(已完结)
    复习——第二章(施工完成,哪里总结的不全或是有问题欢迎指出)
    实验九
    实验五
    实验四
    实验三
    实验二
    实验一
    汇编语言第二章
    【C# 大写金额转阿拉伯数字】大写金额转数值
  • 原文地址:https://www.cnblogs.com/qq2806933146xiaobai/p/15397681.html
Copyright © 2020-2023  润新知