source: trunk/CrypPlugins/PeerToPeer/DebugToFile.cs @ 1458

Last change on this file since 1458 was 1458, checked in by Paul Lelgemann, 11 years ago
  • Removed unused references and using statement in CrypP2P, PeerToPeer, PeerToPeerBaseProxy

+ Skeleton for P2PEditor

File size: 3.3 KB
Line 
1using System;
2using System.IO;
3using System.Text;
4
5namespace Cryptool.Plugins.PeerToPeer.Internal
6{
7    public static class DebugToFile
8    {
9        private static StreamWriter sw;
10        private static string sPath = @"c:\p2p_debug";
11        private static string sFileName = "p2p_debug";
12
13        private static readonly string sDateTime = DateTime.Now.Year + DateTime.Now.Month.ToString()
14                                                   + DateTime.Now.Day + "_" + DateTime.Now.Hour
15                                                   + DateTime.Now.Minute;
16
17        public static string Path
18        {
19            get { return sPath; }
20            private set
21            {
22                // last character must not be a Backslash!
23                if (value.Substring(value.Length - 1, 1) == @"\")
24                    sPath = value.Substring(0, value.Length - 2);
25                else
26                    sPath = value;
27            }
28        }
29
30        public static string FileName
31        {
32            get { return sFileName; }
33            private set
34            {
35                if (value.Substring(value.Length - 3, 1) == ".")
36                    sFileName = value.Substring(0, value.Length - 3);
37                else
38                    sFileName = value;
39            }
40        }
41
42        public static StreamWriter GetDebugStreamWriter(string path, string filename)
43        {
44            Path = path;
45            FileName = filename;
46            return GetDebugStreamWriter();
47        }
48
49        public static StreamWriter GetDebugStreamWriter()
50        {
51            if (sw != null)
52                Dispose();
53
54
55            if (!Directory.Exists(sPath))
56                Directory.CreateDirectory(sPath);
57            int i = 1;
58            while (File.Exists(sPath + @"\" + sFileName + "_" + sDateTime + ".txt"))
59            {
60                FileName += FileName + "_" + i;
61                i++;
62            }
63            var fileInfo = new FileInfo(Path + @"\" + FileName + "_" + sDateTime + ".txt");
64            sw = fileInfo.CreateText();
65            return sw;
66        }
67
68        public static void Dispose()
69        {
70            if (sw != null)
71            {
72                try
73                {
74                    sw.Flush();
75                }
76                catch (Exception ex)
77                {
78                }
79                sw.Close();
80                sw.Dispose();
81                sw = null;
82            }
83        }
84
85        // method only necessary for evaluation issues
86        public static string GetTimeStamp()
87        {
88            DateTime now = DateTime.Now;
89            var sbTimeStamp = new StringBuilder();
90
91            if (now.Hour <= 9)
92                sbTimeStamp.Append("0");
93            sbTimeStamp.Append(now.Hour + ".");
94            if (now.Minute <= 9)
95                sbTimeStamp.Append("0");
96            sbTimeStamp.Append(now.Minute + ".");
97            if (now.Second <= 9)
98                sbTimeStamp.Append("0");
99            sbTimeStamp.Append(now.Second + ":");
100            if (now.Millisecond <= 9)
101                sbTimeStamp.Append("00");
102            else if (now.Millisecond <= 99)
103                sbTimeStamp.Append("0");
104            sbTimeStamp.Append(now.Millisecond.ToString());
105
106            return sbTimeStamp.ToString();
107        }
108    }
109}
Note: See TracBrowser for help on using the repository browser.