示例#1
0
 /// <summary>
 /// Регистрация Файла logFile как получателя лога.
 /// </summary>
 /// <param name="loggerName">Если null, то для default-Логгера</param>
 /// <param name="logFile"></param>
 /// <param name="insDateTimeMarker">Если true, то в начале каждой строки буде вставляться метка [дата/время]</param>
 public static void RegisterLogger(String loggerName, String logFile, Boolean insDateTimeMarker) {
   String vPath = Path.GetDirectoryName(logFile);
   if (!String.IsNullOrEmpty(vPath) && !Directory.Exists(vPath))
     Directory.CreateDirectory(vPath);
   CLoggerEventHandler eventHandler = new CLoggerEventHandler((sender, line) => {
     Utl.AppendStringToFile(logFile, line, Utl.DefaultEncoding);
   });
   RegisterLogger(loggerName, eventHandler, insDateTimeMarker);
 }
示例#2
0
 /// <summary>
 /// Регистрация Контрола logControl как получателя лога. При этом лог будет добавляться в поле Техт.
 /// </summary>
 /// <param name="loggerName">Если null, то для default-Логгера</param>
 /// <param name="logControl"></param>
 /// <param name="insDateTimeMarker">Если true, то в начале каждой строки буде вставляться метка [дата/время]</param>
 public static void RegisterLogger(String loggerName, Control logControl, Boolean insDateTimeMarker) {
   if (logControl != null) {
     CLoggerEventHandler eventHandler = new CLoggerEventHandler((sender, line) => {
       Control senderControl = logControl;
       if ((senderControl != null) && !senderControl.Disposing && !senderControl.IsDisposed && senderControl.IsHandleCreated) {
         Action d = new Action(() => { senderControl.Text = String.IsNullOrEmpty(senderControl.Text) ? line : senderControl.Text + "\n" + line; });
         if (senderControl.InvokeRequired) senderControl.Invoke(d); else d();
       }
     });
     RegisterLogger(loggerName, eventHandler, insDateTimeMarker);
   }
 }
示例#3
0
 /// <summary>
 /// Регистрация обработчика собития OnLog для Логгера "loggerName"
 /// </summary>
 /// <param name="loggerName">Если null, то для default-Логгера</param>
 /// <param name="eventHandler"></param>
 /// <param name="insDateTimeMarker"></param>
 public static void RegisterLogger(String loggerName, CLoggerEventHandler eventHandler, Boolean insDateTimeMarker) {
   CLoggerItem vItem = null;
   String locLoggerName = String.IsNullOrEmpty(loggerName) ? csDefaultLoggerName : loggerName;
   if(sFLoggers.ContainsKey(locLoggerName))
     vItem = sFLoggers[locLoggerName];
   if(vItem == null){
     vItem = new CLoggerItem();
     sFLoggers[locLoggerName] = vItem;
   }
   vItem.FInsDateTimeMarker = insDateTimeMarker;
   vItem.OnLog -= eventHandler;
   vItem.OnLog += eventHandler;
 }