zoukankan      html  css  js  c++  java
  • c# 写入文件日志

    public static void WriteLog(Model.ModelLog ModelLog)
            {
                DbAcess dba = new DbAcess();

                try
                {
                    //string logFileName =Path.GetFullPath("Log/" + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString().ToString() + DateTime.Now.Day.ToString() + ".log");
                    Random random = new Random();
                    DataTable dt = GetCodeInfo(dba, "37", "0");
                    string logFolder = ModelLog.RootPath + dt.Rows[0]["CODE_NAME2"].ToString() + "\\" + FormatDateTime(DateTime.Now, Constant.DATETIME_FORMAT_0005) + "\\" + ModelLog.FormName + "\\" + ModelLog.AppCode + "\\";
                    string logFileName = logFolder + FormatDateTime(DateTime.Now, Constant.DATETIME_FORMAT_0007) + Convert.ToString(random.Next(100000, 999999)) + ".log";

                    if (!Directory.Exists(logFolder))
                    {
                        Directory.CreateDirectory(logFolder);
                    }

                    FileInfo fileinfo = new FileInfo(logFileName);

                    string logTime = DateTime.Now.Year.ToString() + "/" + PadddingLeft(DateTime.Now.Month.ToString(), "0", 2) + "/" + PadddingLeft(DateTime.Now.Day.ToString(), "0", 2) + " " + PadddingLeft(DateTime.Now.Hour.ToString(), "0", 2) + PadddingLeft(DateTime.Now.Minute.ToString(), "0", 2) + PadddingLeft(DateTime.Now.Second.ToString(), "0", 2);
                    string levelName = "";

                    switch (ModelLog.LogLevel)
                    {
                        case Constant.LogLevel_INFO:
                            levelName = "INFO";
                            break;
                        case Constant.LogLevel_WARNING:
                            levelName = "WARNING";
                            break;
                        case Constant.LogLevel_ERROR:
                            levelName = "ERROR";
                            break;
                        case Constant.LogLevel_CRITICAL:
                            levelName = "CRITICAL";
                            break;

                    }

                    if (!fileinfo.Exists)
                    {
                        //fileinfo.Create();
                        FileStream fs = fileinfo.OpenWrite();
                        StreamWriter sw = new StreamWriter(fs);

                        try
                        {

                            sw.BaseStream.Seek(0, SeekOrigin.End);
                            sw.WriteLine(logTime + " " + ModelLog.LoginId + " " + ModelLog.UserName + " " + levelName + " " + ModelLog.DepartName + " " + ModelLog.LogContent);
                            sw.Flush();
                            sw.Close();
                        }
                        catch (Exception ex)
                        {
                            sw.Flush();
                            sw.Close();
                            throw ex;
                        }
                    }
                    else
                    {
                        StreamWriter sw = fileinfo.AppendText();

                        try
                        {
                            sw.BaseStream.Seek(0, SeekOrigin.End);
                            sw.WriteLine(logTime + " " + ModelLog.LoginId + " " + ModelLog.UserName + " " + levelName + " " + ModelLog.DepartName + " " + ModelLog.LogContent);
                            sw.Flush();
                            sw.Close();
                        }
                        catch (Exception ex)
                        {
                            sw.Flush();
                            sw.Close();
                            throw ex;
                        }
                    }

                }
                catch (Exception ex)
                {

                    throw ex;
                }
                finally
                {
                    dba.Dispose();
                }
            }

  • 相关阅读:
    微服务:整合 Spring Cloud Eureka
    java连接oracle数据库时报错ORA-12505
    亲测可用转IntelliJ IDEA 2018.3.4永久激活(破解)
    MyEclipse中打开*.js文件时默认为UTF-8编码格式的设置
    linux yum安装lsof命令
    转:Tomcat 7.0配置SSL的问题及解决办法
    Java实现ping功能的三种方法及Linux的区分
    [linux]文件系统损坏,linux启动时 checking filesystems fail
    redhat7下mysql5.7.12重启电脑后起不来问题
    [转]Linux下彻底卸载mysql详解
  • 原文地址:https://www.cnblogs.com/tatsuya/p/1693406.html
Copyright © 2011-2022 走看看