• C# 写入日志文件


    一:Windows服务、控制台日志方法

    private void WriteLog(string text)
    {

    string path = AppDomain.CurrentDomain.BaseDirectory;
    path = System.IO.Path.Combine(path
    , "Logs\");

    if (!System.IO.Directory.Exists(path))
    {
    System.IO.Directory.CreateDirectory(path);
    }
    string fileFullName = System.IO.Path.Combine(path
    , string.Format("{0}.txt", DateTime.Now.ToString("yyyyMMdd-HHmm")));


    using (StreamWriter output = System.IO.File.AppendText(fileFullName))
    {
    output.WriteLine(text);

    output.Close();
    }
    }

    二:Web写日志方法

    public class WriteLog
    {
    public static void Write(string title, string content)
    {
    string sFilePath = HttpContext.Current.Server.MapPath("\ErrorLog");
    if (Directory.Exists(sFilePath) == false) //工程目录下 Log目录 '目录是否存在,为true则没有此目录
    {
    Directory.CreateDirectory(sFilePath); //建立目录 Directory为目录对象
    }

    //string sDirPath = Path.GetDirectoryName(sFilePath);
    //sDirPath += @"ErrorLog";

    string sFname = sFilePath + @"" + title + "-" + System.DateTime.Now.ToString("yyyyMMdd") + ".txt";

    using (FileStream stream = new FileStream(sFname, FileMode.Append))
    using (StreamWriter writer = new StreamWriter(stream))
    {
    writer.WriteLine("{0}-{1}", DateTime.Now.ToString(), content);
    }
    }

    #region 创建错误日志
    ///-----------------------------------------------------------------------------
    /// <summary>创建错误日志 在c:ErrorLog</summary>
    /// <param name="strFunctionName">strFunctionName,调用方法名</param>
    /// <param name="strErrorNum">strErrorNum,错误号</param>
    /// <param name="strErrorDescription">strErrorDescription,错误内容</param>
    /// <returns></returns>
    public static void ErrorLog(string strFunctionName, string strErrorNum, string strErrorDescription, string content)
    {
    string strPath; //错误文件的路径
    DateTime dt = DateTime.Now;
    try
    {
    strPath = HttpContext.Current.Server.MapPath("\ErrorLog"); //返回网站根目录下查找errolog文件夹地址
    //strPath = "c:" + "\ErrorLog";//暂时放在c:下

    if (Directory.Exists(strPath) == false) //工程目录下 Log目录 '目录是否存在,为true则没有此目录
    {
    Directory.CreateDirectory(strPath); //建立目录 Directory为目录对象
    }
    strPath = strPath + "\" + dt.ToString("yyyyMMdd");

    if (Directory.Exists(strPath) == false) //目录是否存在 '工程目录下 Log月 目录 yyyymm
    {
    Directory.CreateDirectory(strPath); //建立目录//日志文件,以 日 命名
    }
    strPath = strPath + "\" + dt.ToString("yyyyMMdd") + ".txt";

    StreamWriter FileWriter = new StreamWriter(strPath, true); //创建日志文件

    FileWriter.WriteLine("---------------------------------------日志开始-----------------------------------------------------------");
    FileWriter.WriteLine("时间: " + dt.ToString("HH:mm:ss"));
    FileWriter.WriteLine("方法名: " + strFunctionName);
    FileWriter.WriteLine("错误代码: " + strErrorNum);
    FileWriter.WriteLine("错误内容: " + strErrorDescription.Replace(" ", ""));
    FileWriter.WriteLine("执行内容: " + content.Replace(" ", ""));
    //FileWriter.WriteLine("时间: " + dt.ToString("HH:mm:ss") + " 日志内容: " + strMatter);
    FileWriter.WriteLine("---------------------------------------日志结束-----------------------------------------------------------");
    FileWriter.Close(); //关闭StreamWriter对象
    }
    catch (Exception ex)
    {
    //("写错误日志时出现问题,请与管理员联系! 原错误:" + strMatter + "写日志错误:" + ex.Message.ToString());
    string str = ex.Message.ToString();
    }
    }

    #endregion
    }
    }

  • 相关阅读:
    Fiddler显示响应时间
    WPF RichTextBox
    设计模式摘要
    sqlite insert时一直报constraint 约束
    try catch使用规则
    关于WPF的2000件事 06--WPF布局
    SmartAssembly 汉化说明
    GP80系列打印机驱动 V17下载地址
    记录 java 安卓 各类引用包报错处理方法 例如 android.support.v4.app.+ ,io.reactivex.+
    第一讲 新手如何学习HTTP协议之实践项目多开微信机器人
  • 原文地址:https://www.cnblogs.com/zhan-shuai/p/5291165.html
Copyright © 2020-2023  润新知