首页 > 编程语言 >C# 写入类型到文件Helper类

C# 写入类型到文件Helper类

时间:2023-09-08 19:44:10浏览次数:54  
标签:string Helper filePath C# writer 写入 WriteLine title Format

using System;
using System.IO;
using System.Text;

namespace Controls.Helper
{
    public class LoggerHelper
    {
        private static object o = new object();

        private static string GetLogFilePath()
        {
            string filePath = AppDomain.CurrentDomain.BaseDirectory + @"\Log\ExeConfig\";
            //判断路径、文件是否存在,如不存在则生成相关资源
            if (!Directory.Exists(filePath))
            {
                Directory.CreateDirectory(filePath);
            }
            //设置文件名
            string currtime = DateTime.Now.ToString("yyyyMMdd");
            filePath = filePath +currtime + ".log";
            if (!File.Exists(filePath))
            {
                FileStream fs = File.Create(filePath);
                fs.Close();
            }
            return filePath;
        }

        public static void WriteLog(string errorStr, Exception e)
        {
            try
            {
                lock (o)
                {
                    string filepath = GetLogFilePath();
                    StreamWriter writer = new StreamWriter(filepath, true, Encoding.GetEncoding("utf-8"));
                    string title = string.Format("================================{0}================================", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
                    writer.WriteLine(string.Empty);
                    writer.WriteLine(title);
                    writer.WriteLine(string.Format("错误内容:{0}", errorStr));
                    if (e != null)
                    {
                        writer.WriteLine(string.Format("异常信息:{0}", e.ToString()));
                        writer.WriteLine(string.Format("错误消息: {0}", e.Message + (e.InnerException == null ? "" : e.InnerException.Message)));
                        writer.WriteLine(string.Format("调用堆栈: {0}", e.StackTrace));
                    }
    
                    writer.WriteLine(title);
                    writer.WriteLine(string.Empty);
                    writer.Flush();
                    writer.Close();

                }
            }
            catch (Exception ex)
            {

            }
        }

    }
}            

  

 

标签:string,Helper,filePath,C#,writer,写入,WriteLine,title,Format
From: https://www.cnblogs.com/jnyyq/p/17688426.html

相关文章

  • C++多线程编程:包括多线程打印ABC、线程池实现等等
    #include<iostream>#include<thread>#include<mutex>#include<condition_variable>std::condition_variablecond;std::mutexprint_mutex;intflag=0;voidprint_thread(intnum){for(inti=0;i<10;i++)//循环{......
  • 【230908-16】▲ABC中,a=2,c=二倍根号2,C=45°,则S△ABC=?
    ......
  • 【230908-17】▲ABC中,b=2,B=30°,C=45°,则S△ABC=?(2013年全国II卷)
    ......
  • 无涯教程-JavaScript - IMLN函数
    描述IMLN函数以x+yi或x+yj文本格式返回复数的自然对数。复数的自然对数为-$$\ln(x+yi)=\ln\sqrt{x^2+y^2}+i\tan^{-1}\left(\frac{y}{x}\right)$$语法IMLN(inumber)争论Argument描述Required/OptionalInumberAcomplexnumberforwhichy......
  • C++之进化后的 const 分析
    @TOC前言从C演变而来的C++是一种功能更为丰富和面向对象的编程语言。在C++中,const关键字用于表示常量,其用法与C中的const有了一些进化和扩展。本文将探讨C到C++的const的进化,以及在C++中使用const的一些特性和用法。C语言中的constconst修饰的变量是只读的,本质上还是变量。const修......
  • 所以说,java的“方法”有点儿类似于C++的"函数"吧
    两个语言的区别就是,C++如果函数写在下面的话,要在上面注释:而java的方法若写在下面的话,要加static,然后不管怎样,前面一定要加public......
  • 关于 Product Pipeline 的 galectin.json 文件
    ProductPipeline概述:"ProductPipeline"是一个广泛用于企业中的术语,指的是一个产品从概念到最终交付的整个过程。它代表了产品的生命周期,从概念、规划、设计、开发、测试、部署,一直到最终发布和维护。在软件开发领域,"ProductPipeline"通常包括多个阶段和环节,每个环节都有特定的......
  • 关于 TypeScript 展开运算符在 Angular 应用开发中的应用一例
    笔者最近一直在SAP中国研究院从事Angular开发,我所在的团队负责使用Angular开发SAPCommerceCloud这款产品的界面,项目代号为Spartacus.这是一个开源项目,我们项目的Github地址如下。最近我处理了一个bug,我的代码改动放在这个PullRequest里。下面是这个PullReque......
  • 【题解】CF1854C Expected Destruction
    你考虑,我们如果没有重合就将元素删去的操作,我们就有答案:\(n\times(m+1)-\sum\limits_{i=1}^na_i\)但是,我们显然最后的答案是小于这个的,如果有两个数在\(i\)相撞,那么我们的答案就会减少\((m-i+1)\)我们设\(f_{i,j}\)表示两个数分别在\(i\)和\(j\)的概率\((i\leqj......
  • SAP Commerce Cloud 里的 smartedit webservices OCC API
    SAPCommerceCloud是SAP提供的云端电子商务解决方案,而OCCAPI(OmniCommerceConnectAPI)是SAPCommerceCloud的一部分,它是一个RESTfulAPI,提供了与SAPCommerceCloud进行交互的接口,使得开发者可以创建,读取,更新,和删除商业数据,包括产品,购物车,用户,和订单等。这个接口/......