public static void Log(LogLevels level, string str) { if (level < LogLevel) { return; } var st = $"{DateTime.Now} /{Thread.CurrentThread.ManagedThreadId,3}/: {str.TrimEnd( TrimEndChars )}"; lock ( Lock ) { if (LogToConsole) { Console.WriteLine(st); } if (LogToDebug) { System.Diagnostics.Debug.WriteLine(st); } if (Store != null) { CheckFileRotation.Do(Store.CheckStoreRotation); Store.Log(st); } } }
public void Log(MakeMessage maker) { LogAction.Do(() => DebugUtils.Log(LogLevel, maker())); }
private void Run() { var buf = new byte[65536]; var buf2 = new byte[65536]; try { MulticastSocket.BeginReceiveFrom(buf, 0, buf.Length, SocketFlags.None, ref MLEp, new AsyncCallback(ReceiveMulticast), buf); DiscoverDevices(); Thread.Sleep(1000); while (!Terminated) { try { DiscoverAction.Do(DiscoverDevices); GetExternalAddressAction.Do(delegate { if (GetExternalAddressAction.Frequency.ToSeconds < 1.0) { GetExternalAddressAction.Frequency = TickSpan.Seconds(60 * 30); GetExternalAddressAction.Start(); } if (WANIPConnectionsCtlInfo.Count > 0) { ControlInfo ci; lock ( WANIPConnectionsCtlInfo ) { ci = WANIPConnectionsCtlInfo.Values.First(); } RequestExternalIpAddress(ci); } }); ExternalPortMappingAction.Do(delegate { if (ExternalPortMappingAction.Frequency.ToSeconds < 1.0) { ExternalPortMappingAction.Frequency = TickSpan.Seconds(LeaseMapDurationSeconds - 200); ExternalPortMappingAction.Start(); } if (WANIPConnectionsCtlInfo.Count > 0) { UpdatePortMapping("TCP"); UpdatePortMapping("UDP"); } }); Thread.Sleep(1000); } catch (ThreadAbortException ex) { Logging.Log(ex); } catch (Exception ex) { Logging.Log(ex); } } } finally { Terminated = true; } }
public void Log(Func <string> maker) { LogAction.Do(() => Logging.Log(LogLevel, maker())); }