Logger.cs
1 using System; 2 using System.IO; 3 4 namespace SharpLDAPMonitor 5 { 6 public class Logger 7 { 8 Boolean debug = false; 9 String logfile = null; 10 11 public Logger(String logfile=null, Boolean debug=false) 12 { 13 this.logfile = logfile; 14 this.debug = debug; 15 if (this.logfile != null) 16 { 17 // Init logfile (overwrite) 18 using (FileStream aFile = new FileStream(this.logfile, FileMode.Create, FileAccess.Write)) { } 19 } 20 } 21 22 public void Debug(String message) 23 { 24 if (this.debug == true) 25 { 26 Console.WriteLine("[debug] "+message); 27 if (this.logfile != null) 28 { 29 using (FileStream aFile = new FileStream(this.logfile, FileMode.Append, FileAccess.Write)) 30 using (StreamWriter sw = new StreamWriter(aFile)) 31 { 32 sw.WriteLine("[debug] " + message); 33 } 34 } 35 } 36 } 37 38 public void WriteLine(String message) 39 { 40 Console.WriteLine(message); 41 if (this.logfile != null) 42 { 43 using (FileStream aFile = new FileStream(this.logfile, FileMode.Append, FileAccess.Write)) 44 using (StreamWriter sw = new StreamWriter(aFile)) 45 { 46 sw.WriteLine(message); 47 } 48 } 49 } 50 51 public void Warning(String message) 52 { 53 Console.WriteLine("[!] " + message); 54 if (this.logfile != null) 55 { 56 using (FileStream aFile = new FileStream(this.logfile, FileMode.Append, FileAccess.Write)) 57 using (StreamWriter sw = new StreamWriter(aFile)) 58 { 59 sw.WriteLine("[!] " + message); 60 } 61 } 62 } 63 } 64 }