private static void OnLog(object sender, EventArgs e)
{
if (sender == null || !(sender is string))
return;
if (!ExtensionManager.ExtensionEnabled("Logger"))
return;
var logMsg = (string)sender;
if (string.IsNullOrEmpty(logMsg))
return;
var file = Filename;
lock (SyncRoot)
{
try
{
FileInfo fi = new FileInfo(file);
// 1048576 is the number of bytes in a megabyte.
if (fi != null && fi.Exists && fi.Length > (1048576 * MaxLogSizeMb))
{
fi.Delete();
}
using (var fs = new FileStream(file, FileMode.Append))
using (var sw = new StreamWriter(fs))
{
sw.WriteLine(@"*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*");
sw.WriteLine("Date: {0}", DateTime.Now);
sw.WriteLine(logMsg);
}
}
catch
{
// Absorb the error.
}
}
}