Neue Funktionen

- Funktion zum Schreiben eines Standard Headers. Enthält:
  - Programm Namen
  - Programm Version
  - Copyright
  - Tag, Datum und Zeit des Aufrufes
- Funktion zum Schreiben eines Anwenderdefierten Headers. Übergabe als:
  - String
  - String array
- Funktion zum Einfügen des Tages, Datums und der Zeit
- Funktion zum Einfügen einer Trennlinie
This commit is contained in:
Eugen Höglinger 2024-06-12 10:27:15 +02:00
parent 06d626e50e
commit 1ff67e8926
26 changed files with 404 additions and 47 deletions

Binary file not shown.

View File

@ -0,0 +1,86 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\CAD\\Git-WorkRepository\\VisualStudio\\_DLL\\LogWriter.git\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{E95B9315-E0B9-4DB0-BA06-CAEA7269E922}|LogWriter\\LogWriter.csproj|c:\\cad\\git-workrepository\\visualstudio\\_dll\\logwriter.git\\logwriter\\logwriter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{E95B9315-E0B9-4DB0-BA06-CAEA7269E922}|LogWriter\\LogWriter.csproj|solutionrelative:logwriter\\logwriter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9414648E-B3A3-4279-B2E1-F54E35326E93}|Test_LogWriter\\Test_LogWriter.csproj|C:\\CAD\\Git-WorkRepository\\VisualStudio\\_DLL\\LogWriter.git\\test_logwriter\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9414648E-B3A3-4279-B2E1-F54E35326E93}|Test_LogWriter\\Test_LogWriter.csproj|solutionrelative:test_logwriter\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9414648E-B3A3-4279-B2E1-F54E35326E93}|Test_LogWriter\\Test_LogWriter.csproj|C:\\CAD\\Git-WorkRepository\\VisualStudio\\_DLL\\LogWriter.git\\test_logwriter\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{9414648E-B3A3-4279-B2E1-F54E35326E93}|Test_LogWriter\\Test_LogWriter.csproj|solutionrelative:test_logwriter\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 6,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:128:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
},
{
"$type": "Bookmark",
"Name": "ST:129:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{e506b91c-c606-466a-90a9-123d1d1e12b3}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "Form1.cs",
"DocumentMoniker": "C:\\CAD\\Git-WorkRepository\\VisualStudio\\_DLL\\LogWriter.git\\Test_LogWriter\\Form1.cs",
"RelativeDocumentMoniker": "Test_LogWriter\\Form1.cs",
"ToolTip": "C:\\CAD\\Git-WorkRepository\\VisualStudio\\_DLL\\LogWriter.git\\Test_LogWriter\\Form1.cs",
"RelativeToolTip": "Test_LogWriter\\Form1.cs",
"ViewState": "AQIAAHUAAAAAAAAAAAAowJcAAAAMAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-06-11T12:34:35.414Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "Form1.cs [Entwurf]",
"DocumentMoniker": "C:\\CAD\\Git-WorkRepository\\VisualStudio\\_DLL\\LogWriter.git\\Test_LogWriter\\Form1.cs",
"RelativeDocumentMoniker": "Test_LogWriter\\Form1.cs",
"ToolTip": "C:\\CAD\\Git-WorkRepository\\VisualStudio\\_DLL\\LogWriter.git\\Test_LogWriter\\Form1.cs [Entwurf]",
"RelativeToolTip": "Test_LogWriter\\Form1.cs [Entwurf]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-06-11T12:34:35.436Z",
"EditorCaption": " [Entwurf]"
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "LogWriter.cs",
"DocumentMoniker": "C:\\CAD\\Git-WorkRepository\\VisualStudio\\_DLL\\LogWriter.git\\LogWriter\\LogWriter.cs",
"RelativeDocumentMoniker": "LogWriter\\LogWriter.cs",
"ToolTip": "C:\\CAD\\Git-WorkRepository\\VisualStudio\\_DLL\\LogWriter.git\\LogWriter\\LogWriter.cs",
"RelativeToolTip": "LogWriter\\LogWriter.cs",
"ViewState": "AQIAAAAAAAAAAAAAAAAAAI8AAAAIAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-06-11T12:34:36.369Z",
"EditorCaption": ""
}
]
}
]
}
]
}

View File

@ -2,6 +2,7 @@
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
using System.Reflection; using System.Reflection;
using static Eugen.ESystem.IO.LogWriter;
namespace Eugen.ESystem.IO namespace Eugen.ESystem.IO
{ {
@ -121,19 +122,36 @@ namespace Eugen.ESystem.IO
protected string ProgramCopyright { private set; get; } protected string ProgramCopyright { private set; get; }
#endregion #endregion
/// <summary>
/// Defines whether and what type of header should/should not be generated
/// </summary>
public enum Header
{
None,
Default,
Userdefined
}
/// <summary>
/// Defines whether the current time should be written or not
/// </summary>
public enum Time public enum Time
{ {
Write, Write,
NoWrite NoWrite
} }
/// <summary>
/// Defines whether a logging level should be specified or not
/// </summary>
public enum LogLevel public enum LogLevel
{ {
Debugging,
Information, Information,
Warning, Warning,
Error, Error,
Fatal, Fatal,
NoWrite NoLevel
} }
static LogWriter() static LogWriter()
@ -187,6 +205,263 @@ namespace Eugen.ESystem.IO
private string messageFormat = "{0}{1:T}.{2} - {3}"; // Definiert das Mitteilungsformat private string messageFormat = "{0}{1:T}.{2} - {3}"; // Definiert das Mitteilungsformat
/// <summary>
/// Name of the program to be logged
/// </summary>
public string NameOfProgram { get; set; }
/// <summary>
/// Version number of the program to be logged
/// </summary>
public string VersionNumberOfProgram { get; set; }
/// <summary>
/// Copyright of the program to be logged
/// </summary>
public string CopyrightOfProgram { get; set; }
/// <summary>
/// Content of a self-defined header as a string
/// </summary>
public string UserDefinedHeaderAsString { get; set; }
/// <summary>
/// Content of a self-defined header as a string array
/// </summary>
public string[] UserDefinedHeaderAsArray { get; set; }
/// <summary>
/// Writes a separation line to a log file
/// </summary>
/// <returns>On success true is returned, on the other hand false</returns>
public bool WriteSeparationLine()
{
string message = String.Empty;
return WriteMessage(message.PadRight(80, '-'), LogLevel.NoLevel, Time.NoWrite);
}
/// <summary>
/// Writes a header to a log file
/// </summary>
/// <param name="header"></param>
/// <returns>On success true is returned, on the other hand false</returns>
public bool WriteHeader(Header header)
{
switch (header)
{
case Header.Default:
return WriteDefaultHeader();
case Header.Userdefined:
if (!String.IsNullOrEmpty(UserDefinedHeaderAsString))
{
return WriteUserDefinedHeader(DefineUserDefinedHeader());
}
else if (UserDefinedHeaderAsArray != null)
{
return WriteUserDefinedHeader(UserDefinedHeaderAsArray);
}
else
{
return false;
}
case Header.None:
return true;
default:
return true;
}
}
private bool WriteDefaultHeader()
{
string message = String.Empty;
string line = message.PadRight(80, '-');
try
{
StreamWriter writer;
if (!File.Exists(String.Concat(this.Path, "\\", this.FileName)))
{
// Wenn Logdatei noch nicht existiert, dann anlegen
writer = new StreamWriter(String.Concat(this.Path, "\\", this.FileName));
OnFileCreated(EventArgs.Empty);
}
else
{
// Wenn Logdatei schon existiert, dann zum Schreiben öffnen
writer = new StreamWriter(String.Concat(this.Path, "\\", this.FileName), true);
}
// Zeile schreiben
writer.WriteLine(line);
writer.WriteLine(DefaultHeaderLine1());
writer.WriteLine(DefaultHeaderLine2());
writer.WriteLine(DefaultHeaderLine3());
writer.WriteLine(CurrentDayDateTime());
writer.WriteLine(line);
// Logdatei schließen
writer.Close();
OnMessageWritten(new LogWriterEventArgs(LogLevel.NoLevel.ToString(), DateTime.Now, 0, "SUCCESS"));
return true;
}
catch (Exception)
{
return false;
}
}
private string DefaultHeaderLine1()
{
if (String.IsNullOrEmpty(NameOfProgram))
{
return "Program Name:";
}
else
{
return String.Concat("Program Name: ", NameOfProgram);
}
}
private string DefaultHeaderLine2()
{
if (String.IsNullOrEmpty(VersionNumberOfProgram))
{
return "Program Version: ";
}
else
{
return String.Concat("Program Version: ", VersionNumberOfProgram);
}
}
private string DefaultHeaderLine3()
{
if (String.IsNullOrEmpty(CopyrightOfProgram))
{
return "Copyright: ";
}
else
{
if(CopyrightOfProgram.StartsWith("Copyright"))
{
return String.Concat("Copyright: ", CopyrightOfProgram.Remove(0, CopyrightOfProgram.IndexOf(" ") + 1));
}
else
{
return String.Concat("Copyright: ", CopyrightOfProgram);
}
}
}
private string[] DefineUserDefinedHeader()
{
if (!String.IsNullOrEmpty(UserDefinedHeaderAsString))
{
string[] stringSeparators = new string[] { "\n\r", "\r\n", "\n", "\r" };
string[] lines = UserDefinedHeaderAsString.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries);
return lines;
}
else
{
string[] lines = {" "};
return lines;
}
}
private bool WriteUserDefinedHeader(string[] lines)
{
string message = String.Empty;
string line = message.PadRight(80, '-');
try
{
StreamWriter writer;
if (!File.Exists(String.Concat(this.Path, "\\", this.FileName)))
{
// Wenn Logdatei noch nicht existiert, dann anlegen
writer = new StreamWriter(String.Concat(this.Path, "\\", this.FileName));
OnFileCreated(EventArgs.Empty);
}
else
{
// Wenn Logdatei schon existiert, dann zum Schreiben öffnen
writer = new StreamWriter(String.Concat(this.Path, "\\", this.FileName), true);
}
// Zeilen schreiben
writer.WriteLine(line);
for (int i = 0; i < lines.Length; i++)
{
writer.WriteLine(lines[i]);
}
writer.WriteLine(line);
// Logdatei schließen
writer.Close();
OnMessageWritten(new LogWriterEventArgs(LogLevel.NoLevel.ToString(), DateTime.Now, 0, "SUCCESS"));
return true;
}
catch (Exception)
{
return false;
}
}
/// <summary>
/// Writes the current day, date and time to a logfile
/// </summary>
/// <returns>On success true is returned, on the other hand false</returns>
public bool WriteDayDateTime()
{
try
{
StreamWriter writer;
if (!File.Exists(String.Concat(this.Path, "\\", this.FileName)))
{
// Wenn Logdatei noch nicht existiert, dann anlegen
writer = new StreamWriter(String.Concat(this.Path, "\\", this.FileName));
OnFileCreated(EventArgs.Empty);
}
else
{
// Wenn Logdatei schon existiert, dann zum Schreiben öffnen
writer = new StreamWriter(String.Concat(this.Path, "\\", this.FileName), true);
}
// Zeile schreiben
writer.WriteLine(CurrentDayDateTime());
// Logdatei schließen
writer.Close();
OnMessageWritten(new LogWriterEventArgs(LogLevel.NoLevel.ToString(), DateTime.Now, 0, "SUCCESS"));
return true;
}
catch (Exception)
{
return false;
}
}
private string CurrentDayDateTime()
{
DateTime time = DateTime.Now;
int ms = time.Millisecond;
return String.Concat("Date: ", time.DayOfWeek.ToString(), ", ", time, ".", ms.ToString("000"));
}
/// <summary> /// <summary>
/// Writes a message to a log file /// Writes a message to a log file
/// </summary> /// </summary>
@ -194,7 +469,7 @@ namespace Eugen.ESystem.IO
/// <returns>On success true is returned, on the other hand false</returns> /// <returns>On success true is returned, on the other hand false</returns>
public bool WriteMessage(string message) public bool WriteMessage(string message)
{ {
return WriteMessage(message, LogLevel.NoWrite, Time.Write); return WriteMessage(message, LogLevel.NoLevel, Time.Write);
} }
/// <summary> /// <summary>
@ -210,6 +485,9 @@ namespace Eugen.ESystem.IO
switch (writeLogLevel) switch (writeLogLevel)
{ {
case LogLevel.Debugging:
logLevel = "DEBUG - ";
break;
case LogLevel.Information: case LogLevel.Information:
logLevel = "INFO - "; logLevel = "INFO - ";
break; break;
@ -222,7 +500,7 @@ namespace Eugen.ESystem.IO
case LogLevel.Fatal: case LogLevel.Fatal:
logLevel = "FATAL - "; logLevel = "FATAL - ";
break; break;
case LogLevel.NoWrite: case LogLevel.NoLevel:
logLevel = ""; logLevel = "";
break; break;
default: default:
@ -286,40 +564,6 @@ namespace Eugen.ESystem.IO
return ShowLogFile(this.Path, this.FileName); return ShowLogFile(this.Path, this.FileName);
} }
///// <summary>
///// Displays a logfile
///// </summary>
///// <param name="path">A valid path</param>
///// <param name="fileName">A valid filename</param>
///// <returns>Wheather the displaying progress was successful</returns>
//public bool ShowLogFile(string path, string fileName)
//{
// if (String.IsNullOrEmpty(path) || String.IsNullOrEmpty(fileName))
// {
// return false; // Pfad oder Name wurde nicht gefunden
// }
// else
// {
// if (!fileName.EndsWith(".log"))
// {
// fileName = String.Concat(fileName, ".log");
// }
// if (File.Exists(String.Concat(path, "\\", fileName)))
// {
// if (!ShowTextFile.Show(String.Concat(path, "\\", fileName)))
// {
// return false; // Editor nicht gefunden
// }
// }
// else
// {
// return false; //Datei nicht gefunden
// }
// }
// return true;
//}
/// <summary> /// <summary>
/// Displays a logfile /// Displays a logfile
/// </summary> /// </summary>

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
e1faeb35ce76a8d38c55282029a3d9258634bb5d e059c56f5aea4ad7e9b0a0f639bec4193ddedaf32239362c2db6cc7c7ffcade6

View File

@ -7,3 +7,12 @@ H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\ob
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\LogWriter.csproj.CopyComplete H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\LogWriter.csproj.CopyComplete
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\helogwri.dll H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\helogwri.dll
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\helogwri.pdb H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\helogwri.pdb
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\bin\Debug\helogwri.dll
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\bin\Debug\helogwri.pdb
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\bin\Debug\heshowtf.dll
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\bin\Debug\heshowtf.pdb
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\LogWriter.csproj.AssemblyReference.cache
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\LogWriter.csproj.CoreCompileInputs.cache
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\LogWriter.csproj.Up2Date
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\helogwri.dll
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\helogwri.pdb

Binary file not shown.

Binary file not shown.

View File

@ -122,7 +122,7 @@ namespace Test_LogWriter
} }
LogWriter logWriter1 = new LogWriter(@"C:\TMP\"); LogWriter logWriter1 = new LogWriter(@"C:\TMP\");
LogWriter logWriter2 = new LogWriter(@"C:\TMP\", "my_logfile2.log"); LogWriter logWriter2 = new LogWriter(@"C:\TMP\", "my_logfile2.log"); // Die Extension .log kann, muss aber nicht angegeben werden
LogWriter logWriter3 = new LogWriter(@"C:\TMP\", "my_logfile3"); LogWriter logWriter3 = new LogWriter(@"C:\TMP\", "my_logfile3");
LogWriter logWriter4 = new LogWriter(@"C:\TMP\", "my_logfile4"); LogWriter logWriter4 = new LogWriter(@"C:\TMP\", "my_logfile4");
@ -138,20 +138,25 @@ namespace Test_LogWriter
logWriter2.WriteMessage("Das ist Test 2"); logWriter2.WriteMessage("Das ist Test 2");
labelResult.Text = String.Concat(labelResult.Text, "\nDie Log-Datei C:\\TMP\\my_logfile2.log wurde geschrieben"); labelResult.Text = String.Concat(labelResult.Text, "\nDie Log-Datei C:\\TMP\\my_logfile2.log wurde geschrieben");
//Variante 3 - Logdateiname wird angegeben und Header wird geschrieben //Variante 3 - Logdateiname wird angegeben und Standard Header wird geschrieben
string header = "--------------------\n Das ist der Header\n--------------------"; logWriter3.NameOfProgram = ProgramName;
logWriter3.VersionNumberOfProgram = ProgramVersion;
logWriter3.CopyrightOfProgram = Copyright;
logWriter3.Delete(); logWriter3.Delete();
logWriter3.WriteMessage(header, LogWriter.LogLevel.NoWrite, LogWriter.Time.NoWrite); logWriter3.WriteHeader(LogWriter.Header.Default);
logWriter3.WriteMessage("Das ist Test 3"); logWriter3.WriteMessage("Das ist Test 3");
labelResult.Text = String.Concat(labelResult.Text, "\nDie Log-Datei C:\\TMP\\my_logfile3.log wurde geschrieben"); labelResult.Text = String.Concat(labelResult.Text, "\nDie Log-Datei C:\\TMP\\my_logfile3.log wurde geschrieben");
//Variante 4 - Logdateiname wird angegeben und Header wird geschrieben //Variante 4 - Logdateiname wird angegeben und ein Anwender definierter Header wird geschrieben
//Der Header ist schon in Variante 3 definiert logWriter4.UserDefinedHeaderAsString = "--------------------\n\r Das ist der Anwender definierte Header\n\r--------------------";
logWriter4.Delete(); logWriter4.Delete();
logWriter4.WriteMessage(header, LogWriter.LogLevel.NoWrite, LogWriter.Time.NoWrite); logWriter4.WriteHeader(LogWriter.Header.Userdefined);
logWriter4.WriteMessage("Das ist Test 4", LogWriter.LogLevel.Information, LogWriter.Time.Write); logWriter4.WriteMessage("Das ist Test 4", LogWriter.LogLevel.Information, LogWriter.Time.Write);
logWriter4.WriteMessage("Eine Zeile ohne Log Level", LogWriter.LogLevel.NoWrite, LogWriter.Time.Write); logWriter4.WriteMessage("Eine Zeile ohne Log Level", LogWriter.LogLevel.NoLevel, LogWriter.Time.Write);
logWriter4.WriteMessage("Und noch eine Zeile mit Log Level", LogWriter.LogLevel.Warning, LogWriter.Time.Write); logWriter4.WriteMessage("Und noch eine Zeile mit Log Level", LogWriter.LogLevel.Warning, LogWriter.Time.Write);
logWriter4.WriteSeparationLine();
labelResult.Text = String.Concat(labelResult.Text, "\nDie Log-Datei C:\\TMP\\my_logfile4.log wurde geschrieben"); labelResult.Text = String.Concat(labelResult.Text, "\nDie Log-Datei C:\\TMP\\my_logfile4.log wurde geschrieben");
} }

View File

@ -1 +1 @@
094cd05bab9c4c022c89eb29561a520b03346241 d2a509232f30804e06c635054be7c5f81c895b43e12ff8f66085ca477f29e392

View File

@ -12,3 +12,16 @@ H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWrit
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.csproj.CopyComplete H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.csproj.CopyComplete
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.exe H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.exe
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.pdb H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.pdb
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.csproj.AssemblyReference.cache
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.Form1.resources
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.Properties.Resources.resources
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.csproj.GenerateResource.cache
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.csproj.CoreCompileInputs.cache
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.exe
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.pdb
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\Test_LogWriter.exe.config
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\Test_LogWriter.exe
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\Test_LogWriter.pdb
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\helogwri.dll
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\helogwri.pdb
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_Log.B764C44C.Up2Date