using System; using System.IO; using System.Reflection; using System.Windows.Forms; using Eugen.ESystem.IO; namespace Test_LogWriter { public partial class Form1 : Form { #region Version und Copyright // Version und Copyright string programName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen string programVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false); string copyright = GenerateCopyright(); string icon = Application.StartupPath + "\\Info.bmp"; //Assembly Datum und Zeit static DateTime value = AssemblyDateTime(); string date = value.ToShortDateString(); string time = value.ToLongTimeString(); private static DateTime AssemblyDateTime() { 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)); //Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original) return buildDateTime; } private static string CurrentYear() { DateTime dtn = DateTime.Now; return dtn.Year.ToString(); } private static string StartYear() { string startYear = ""; if (((AssemblyCopyrightAttribute)attributes[0]).Copyright.Contains("Copyright © ")) { startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace("Copyright © ", ""); while (startYear.StartsWith(" ")) { startYear = startYear.Remove(0, 1); } if (startYear.Contains("-")) { startYear = startYear.Remove(startYear.IndexOf("-")); } else { startYear = startYear.Remove(startYear.IndexOf(" ")); } return startYear; } else { DateTime dtn = DateTime.Now; return dtn.Year.ToString(); } } private static string GenerateCopyright() { string startYear = StartYear(); string currentYear = CurrentYear(); if (startYear == currentYear) { return ((AssemblyCopyrightAttribute)attributes[0]).Copyright; } else { string temp = ((AssemblyCopyrightAttribute)attributes[0]).Copyright; string start = temp.Remove(temp.IndexOf(startYear) - 1); string end = (temp.Remove(0, temp.IndexOf(" by"))); return String.Concat(start, " ", startYear, "-", currentYear, end); } } #endregion #region Programm-Info /// /// Contains the name of the program file /// public static string ProgramName { set; get; } /// /// Contains the version of the program file /// public static string ProgramVersion { set; get; } /// /// Contains the copyright notice /// public static string Copyright { set; get; } private void SetProgramInfo() { //Name, Version und Copyright setzen ProgramName = programName; ProgramVersion = programVersion; Copyright = copyright; } #endregion public Form1() { SetProgramInfo(); InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { 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 } LogWriter logWriter1 = new LogWriter(@"C:\TMP\"); LogWriter logWriter2 = new LogWriter(@"C:\TMP\", "my_logfile2.log"); LogWriter logWriter3 = new LogWriter(@"C:\TMP\", "my_logfile3"); LogWriter logWriter4 = new LogWriter(@"C:\TMP\", "my_logfile4"); private void buttonRunProgram_Click(object sender, EventArgs e) { //Variante 1 - Logdateiname ist automatisch 'log_dd-mm-yy.log' logWriter1.Delete(); 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' logWriter2.Delete(); logWriter2.WriteMessage("Das ist Test 2"); 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 string header = "--------------------\n Das ist der Header\n--------------------"; logWriter3.Delete(); logWriter3.WriteMessage(header, LogWriter.LogLevel.NoWrite, LogWriter.Time.NoWrite); logWriter3.WriteMessage("Das ist Test 3"); 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 //Der Header ist schon in Variante 3 definiert logWriter4.Delete(); logWriter4.WriteMessage(header, LogWriter.LogLevel.NoWrite, LogWriter.Time.NoWrite); 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("Und noch eine Zeile mit Log Level", LogWriter.LogLevel.Warning, LogWriter.Time.Write); labelResult.Text = String.Concat(labelResult.Text, "\nDie Log-Datei C:\\TMP\\my_logfile4.log wurde geschrieben"); } private void buttonShowLog1_Click_1(object sender, EventArgs e) { //string textFileName = String.Concat("C:\\TMP\\log_", DateTime.Now.Date.ToString().Remove(10), ".log"); //Wenn die Datei nicht angezeigt werden kann, dann eine Fehlermeldung ausgeben //if (!ShowTextFile.Show(textFileName)) if (!logWriter1.ShowLogFile("C:\\TMP", String.Concat("log_", DateTime.Now.Date.ToString().Remove(10), ".log"))) { 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"; //Wenn die Datei nicht angezeigt werden kann, dann eine Fehlermeldung ausgeben //if (!ShowTextFile.Show(textFileName)) if (!logWriter1.ShowLogFile("C:\\TMP", "my_logfile2.log")) { 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"; //Wenn die Datei nicht angezeigt werden kann, dann eine Fehlermeldung ausgeben //if (!ShowTextFile.Show(textFileName)) if (!logWriter1.ShowLogFile("C:\\TMP", "my_logfile3.log")) { MessageBox.Show("Entweder die Datei existiert nicht oder der Editor konnte nicht geöffnet werden!"); } } private void buttonShowLog4_Click(object sender, EventArgs e) { if (!logWriter1.ShowLogFile("C:\\TMP", "my_logfile4.log")) { MessageBox.Show("Entweder die Datei existiert nicht oder der Editor konnte nicht geöffnet werden!"); } } } }