bool Log(Entry e)
        {
            #if !DEBUG
            if( e.Priority == LogPriority.Debug)
                return false; //dont long debug messages if release mode
            #endif

               WriteLine(e);
               m_entries.Add(e);
               if (LogChanged != null)
                    LogChanged(this, new EventArgs());
               return true;
        }
 //public bool Log(string s, Font font)
 //{
 //     Entry e = new Entry(s,font);
 //     WriteLine(e);
 //     Entries.Add(e);
 //     if (LogChanged != null)
 //          LogChanged(this, new EventArgs());
 //     return true;
 //}
 //public bool Log(KeyValuePair<string, Font> error)
 //{
 //     return Log(error.Key, error.Value);
 //}
 void WriteLine(Entry e)
 {
     if (File != null)
        {
             File.WriteLine(e.ToString());
             File.Flush();
        }
 }
 public bool Log(string s, LogPriority p)
 {
     Entry e = new Entry(s, p);
        return Log(e);
 }