程序代码记Log

 private static object s_lock = new object();

        public static void TraceLog(string message, string logFileName, string logPath = null)
        {
            string tmppath = string.Empty;
            if (logPath != null && logPath.Length > 0)
                tmppath = logPath;
            else
                tmppath = AppDomain.CurrentDomain.BaseDirectory + "\Log\";

            if (!Directory.Exists(tmppath))
            {
                Directory.CreateDirectory(tmppath);
            }
            lock (s_lock)
            {
                StreamWriter myFile = null;
                try
                {
                    myFile = new StreamWriter(tmppath + DateTime.Now.ToString("yyyyMMdd") + logFileName.ToString() + ".log", true, Encoding.Default);
                    TextWriterTraceListener textL = new TextWriterTraceListener(myFile);
                    DefaultTraceListener defL = new DefaultTraceListener();
                    if (Trace.Listeners.IndexOf(textL) == -1)
                    {
                        Trace.Listeners.Clear();
                        Trace.Listeners.Add(textL);
                        Trace.Listeners.Add(defL);
                    }
                    Trace.AutoFlush = true;

                    Trace.WriteLine(string.Empty);
                    Trace.WriteLine(message);
                }
                catch (Exception ioe)
                {
                    Console.WriteLine(ioe.Message);
                }
                finally
                {
                    if (myFile != null)
                    {
                        myFile.Close();
                        myFile.Dispose();
                    }
                }
            }
        }       

  

原文地址:https://www.cnblogs.com/Wolfmanlq/p/3995002.html