Änderung

- DeleteLogFile löscht jetzt auch automatisch benannte Logdateien
- DeleteLogFile löscht jetzt auch Logdateien ohne Fileextension
This commit is contained in:
Hoeglinger Eugen 2022-04-27 18:03:56 +02:00
parent 8971cdd73c
commit 7861b7861e
21 changed files with 205 additions and 187 deletions

Binary file not shown.

View File

@ -433,11 +433,26 @@ namespace Eugen.ESystem.IO
{ {
try try
{ {
if (String.IsNullOrEmpty(path) || String.IsNullOrEmpty(filename)) if (String.IsNullOrEmpty(path))
{ {
return false; return false;
} }
if (String.IsNullOrEmpty(filename))
{
DateTime time = DateTime.Now;
filename = String.Concat("log_", time.ToString().Remove(time.ToString().IndexOf(" ")), ".log");
if (!File.Exists(String.Concat(Path, "\\", filename)))
{
return false;
}
}
if (!filename.EndsWith(".log"))
{
filename = String.Concat(filename, ".log");
}
if (!File.Exists(path + "\\" + filename)) if (!File.Exists(path + "\\" + filename))
{ {
return true; return true;
@ -445,7 +460,7 @@ namespace Eugen.ESystem.IO
else else
{ {
File.Delete(path + "\\" + filename); File.Delete(path + "\\" + filename);
return true; //return true;
} }
if (File.Exists(path + "\\" + filename)) if (File.Exists(path + "\\" + filename))

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,184 +1,187 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Data; using System.Data;
using System.Drawing; using System.Drawing;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
using Eugen.ESystem.IO; using Eugen.ESystem.IO;
namespace Test_LogWriter namespace Test_LogWriter
{ {
public partial class Form1 : Form public partial class Form1 : Form
{ {
#region Version und Copyright #region Version und Copyright
// Version und Copyright // Version und Copyright
string programName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen string programName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen
string programVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); string programVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false); static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
string copyright = GenerateCopyright(); string copyright = GenerateCopyright();
string icon = Application.StartupPath + "\\Info.bmp"; string icon = Application.StartupPath + "\\Info.bmp";
//Assembly Datum und Zeit //Assembly Datum und Zeit
static DateTime value = AssemblyDateTime(); static DateTime value = AssemblyDateTime();
string date = value.ToShortDateString(); string date = value.ToShortDateString();
string time = value.ToLongTimeString(); string time = value.ToLongTimeString();
private static DateTime AssemblyDateTime() private static DateTime AssemblyDateTime()
{ {
var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond * 2 * version.Revision)); var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond * 2 * version.Revision));
//Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original) //Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original)
return buildDateTime; return buildDateTime;
} }
private static string CurrentYear() private static string CurrentYear()
{ {
DateTime dtn = DateTime.Now; DateTime dtn = DateTime.Now;
return dtn.Year.ToString(); return dtn.Year.ToString();
} }
private static string StartYear() private static string StartYear()
{ {
string startYear = ""; string startYear = "";
if (((AssemblyCopyrightAttribute)attributes[0]).Copyright.Contains("Copyright © ")) if (((AssemblyCopyrightAttribute)attributes[0]).Copyright.Contains("Copyright © "))
{ {
startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace("Copyright © ", ""); startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace("Copyright © ", "");
while (startYear.StartsWith(" ")) while (startYear.StartsWith(" "))
{ {
startYear = startYear.Remove(0, 1); startYear = startYear.Remove(0, 1);
} }
if (startYear.Contains("-")) if (startYear.Contains("-"))
{ {
startYear = startYear.Remove(startYear.IndexOf("-")); startYear = startYear.Remove(startYear.IndexOf("-"));
} }
else else
{ {
startYear = startYear.Remove(startYear.IndexOf(" ")); startYear = startYear.Remove(startYear.IndexOf(" "));
} }
return startYear; return startYear;
} }
else else
{ {
DateTime dtn = DateTime.Now; DateTime dtn = DateTime.Now;
return dtn.Year.ToString(); return dtn.Year.ToString();
} }
} }
private static string GenerateCopyright() private static string GenerateCopyright()
{ {
string startYear = StartYear(); string startYear = StartYear();
string currentYear = CurrentYear(); string currentYear = CurrentYear();
if (startYear == currentYear) if (startYear == currentYear)
{ {
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright; return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
} }
else else
{ {
string temp = ((AssemblyCopyrightAttribute)attributes[0]).Copyright; string temp = ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
string start = temp.Remove(temp.IndexOf(startYear) - 1); string start = temp.Remove(temp.IndexOf(startYear) - 1);
string end = (temp.Remove(0, temp.IndexOf(" by"))); string end = (temp.Remove(0, temp.IndexOf(" by")));
return String.Concat(start, " ", startYear, "-", currentYear, end); return String.Concat(start, " ", startYear, "-", currentYear, end);
} }
} }
#endregion #endregion
#region Programm-Info #region Programm-Info
/// <summary> /// <summary>
/// Contains the name of the program file /// Contains the name of the program file
/// </summary> /// </summary>
public static string ProgramName { set; get; } public static string ProgramName { set; get; }
/// <summary> /// <summary>
/// Contains the version of the program file /// Contains the version of the program file
/// </summary> /// </summary>
public static string ProgramVersion { set; get; } public static string ProgramVersion { set; get; }
/// <summary> /// <summary>
/// Contains the copyright notice /// Contains the copyright notice
/// </summary> /// </summary>
public static string Copyright { set; get; } public static string Copyright { set; get; }
private void SetProgramInfo() private void SetProgramInfo()
{ {
//Name, Version und Copyright setzen //Name, Version und Copyright setzen
ProgramName = programName; ProgramName = programName;
ProgramVersion = programVersion; ProgramVersion = programVersion;
Copyright = copyright; Copyright = copyright;
} }
#endregion #endregion
public Form1() public Form1()
{ {
SetProgramInfo(); SetProgramInfo();
InitializeComponent(); InitializeComponent();
} }
private void Form1_Load(object sender, EventArgs e) private void Form1_Load(object sender, EventArgs e)
{ {
labelProgramInfo.Text = String.Concat(ProgramName, "\r\n", ProgramVersion, "\r\n", Copyright); // Zeigt die Programm-Information an labelProgramInfo.Text = String.Concat(ProgramName, "\r\n", ProgramVersion, "\r\n", Copyright); // Zeigt die Programm-Information an
labelDLLInfo.Text = String.Concat(LogWriter.DllName, "\r\n", LogWriter.DllVersion, "\r\n", LogWriter.Copyright); // Zeigt die DLL-Information an labelDLLInfo.Text = String.Concat(LogWriter.DllName, "\r\n", LogWriter.DllVersion, "\r\n", LogWriter.Copyright); // Zeigt die DLL-Information an
} }
private void buttonRunProgram_Click(object sender, EventArgs e) private void buttonRunProgram_Click(object sender, EventArgs e)
{ {
//Variante 1 - Logdateiname ist automatisch 'log_dd-mm-yy.log' //Variante 1 - Logdateiname ist automatisch 'log_dd-mm-yy.log'
var logWriter1 = new LogWriter(@"C:\TMP\"); var logWriter1 = new LogWriter(@"C:\TMP\");
logWriter1.WriteMessage("Das ist Test 1"); logWriter1.DeleteLogFile();
labelResult.Text = String.Concat("Die Log-Datei C:\\TMP\\log_", DateTime.Now.Date.ToString().Remove(10), ".log wurde geschrieben."); logWriter1.WriteMessage("Das ist Test 1");
labelResult.Text = String.Concat("Die Log-Datei C:\\TMP\\log_", DateTime.Now.Date.ToString().Remove(10), ".log wurde geschrieben.");
//Variante 2 - Logdateiname wird angegeben, z.B. 'my_logfile2.log'
var logWriter2 = new LogWriter(@"C:\TMP\", "my_logfile2.log"); //Variante 2 - Logdateiname wird angegeben, z.B. 'my_logfile2.log'
logWriter2.WriteMessage("Das ist Test 2"); var logWriter2 = new LogWriter(@"C:\TMP\", "my_logfile2.log");
labelResult.Text = String.Concat(labelResult.Text, "\nDie Log-Datei C:\\TMP\\my_logfile2.log wurde geschrieben"); logWriter2.DeleteLogFile();
logWriter2.WriteMessage("Das ist Test 2");
//Variante 3 - Logdateiname wird angegeben und Header wird geschrieben labelResult.Text = String.Concat(labelResult.Text, "\nDie Log-Datei C:\\TMP\\my_logfile2.log wurde geschrieben");
string header = "--------------------\n Das ist der Header\n--------------------";
var logWriter3 = new LogWriter(@"C:\TMP\", "my_logfile3"); //Variante 3 - Logdateiname wird angegeben und Header wird geschrieben
logWriter3.WriteMessage(header, LogWriter.Time.NoWrite); string header = "--------------------\n Das ist der Header\n--------------------";
logWriter3.WriteMessage("Das ist Test 3"); var logWriter3 = new LogWriter(@"C:\TMP\", "my_logfile3");
labelResult.Text = String.Concat(labelResult.Text, "\nDie Log-Datei C:\\TMP\\my_logfile3.log wurde geschrieben"); logWriter3.DeleteLogFile();
} logWriter3.WriteMessage(header, LogWriter.Time.NoWrite);
logWriter3.WriteMessage("Das ist Test 3");
private void buttonShowLog1_Click(object sender, EventArgs e) labelResult.Text = String.Concat(labelResult.Text, "\nDie Log-Datei C:\\TMP\\my_logfile3.log wurde geschrieben");
{ }
string textFileName = String.Concat("C:\\TMP\\log_", DateTime.Now.Date.ToString().Remove(10), ".log");
private void buttonShowLog1_Click(object sender, EventArgs e)
//Wenn die Datei nicht angezeigt werden kann, dann eine Fehlermeldung ausgeben {
if (!ShowTextFile.Show(textFileName)) string textFileName = String.Concat("C:\\TMP\\log_", DateTime.Now.Date.ToString().Remove(10), ".log");
{
MessageBox.Show("Entweder die Datei existiert nicht oder der Editor konnte nicht geöffnet werden!"); //Wenn die Datei nicht angezeigt werden kann, dann eine Fehlermeldung ausgeben
} if (!ShowTextFile.Show(textFileName))
} {
MessageBox.Show("Entweder die Datei existiert nicht oder der Editor konnte nicht geöffnet werden!");
private void buttonShowLog2_Click(object sender, EventArgs e) }
{ }
string textFileName = "C:\\TMP\\my_logfile2.log";
private void buttonShowLog2_Click(object sender, EventArgs e)
//Wenn die Datei nicht angezeigt werden kann, dann eine Fehlermeldung ausgeben {
if (!ShowTextFile.Show(textFileName)) string textFileName = "C:\\TMP\\my_logfile2.log";
{
MessageBox.Show("Entweder die Datei existiert nicht oder der Editor konnte nicht geöffnet werden!"); //Wenn die Datei nicht angezeigt werden kann, dann eine Fehlermeldung ausgeben
} if (!ShowTextFile.Show(textFileName))
} {
MessageBox.Show("Entweder die Datei existiert nicht oder der Editor konnte nicht geöffnet werden!");
private void buttonShowLog3_Click(object sender, EventArgs e) }
{ }
string textFileName = "C:\\TMP\\my_logfile3.log";
private void buttonShowLog3_Click(object sender, EventArgs e)
//Wenn die Datei nicht angezeigt werden kann, dann eine Fehlermeldung ausgeben {
if (!ShowTextFile.Show(textFileName)) string textFileName = "C:\\TMP\\my_logfile3.log";
{
MessageBox.Show("Entweder die Datei existiert nicht oder der Editor konnte nicht geöffnet werden!"); //Wenn die Datei nicht angezeigt werden kann, dann eine Fehlermeldung ausgeben
} if (!ShowTextFile.Show(textFileName))
} {
} MessageBox.Show("Entweder die Datei existiert nicht oder der Editor konnte nicht geöffnet werden!");
} }
}
}
}

View File

@ -1,7 +1,6 @@
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\Test_LogWriter.exe.config H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\Test_LogWriter.exe.config
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\Test_LogWriter.exe H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\Test_LogWriter.exe
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\Test_LogWriter.pdb H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\Test_LogWriter.pdb
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\helogwri.dll
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\heshowtf.dll H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\heshowtf.dll
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\helogwri.pdb H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\helogwri.pdb
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\heshowtf.pdb H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\heshowtf.pdb
@ -16,3 +15,4 @@ H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWrit
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
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.csproj.SuggestedBindingRedirects.cache H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.csproj.SuggestedBindingRedirects.cache
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\helogwri.dll