Ejemplo n.º 1
0
        static LoadingAdjustedTimestamp()
        {
            Reset();

            Log             = Logger.CreatePublisher(typeof(LoadingAdjustedTimestamp), MessageClass.Component);
            LogLoadingClock = Log.RegisterEvent(MessageLevel.Info, MessageFlags.SystemHealth, $"Loading Clock is behind", 0, MessageRate.EveryFewSeconds(1), 1);
            LogSmall        = Log.RegisterEvent(MessageLevel.Info, MessageFlags.SystemHealth, $"Short High Load Condition Detected", 0, MessageRate.EveryFewSeconds(10), 5);
            LogMedium       = Log.RegisterEvent(MessageLevel.Warning, MessageFlags.SystemHealth, $"Medium High Load Condition Detected", 0, MessageRate.EveryFewSeconds(10), 5);
            LogLarge        = Log.RegisterEvent(MessageLevel.Error, MessageFlags.SystemHealth, $"Long High Load Condition Detected", 0, MessageRate.EveryFewSeconds(10), 5);

            LogLoadingClock.ShouldRaiseMessageSupressionNotifications = false;
            LogSmall.ShouldRaiseMessageSupressionNotifications        = false;
            LogMedium.ShouldRaiseMessageSupressionNotifications       = false;
            LogLarge.ShouldRaiseMessageSupressionNotifications        = false;

            MonitorHighThread              = new Thread(MonitorHighPriority, short.MaxValue);
            MonitorHighThread.Priority     = ThreadPriority.Highest;
            MonitorHighThread.IsBackground = true;
            MonitorHighThread.Start();

            MonitorNormalThread              = new Thread(MonitorNormalPriority, short.MaxValue);
            MonitorNormalThread.Priority     = ThreadPriority.Normal;
            MonitorNormalThread.IsBackground = true;
            MonitorNormalThread.Start();

            MonitorLowThread              = new Thread(MonitorLowPriority, short.MaxValue);
            MonitorLowThread.Priority     = ThreadPriority.Lowest;
            MonitorLowThread.IsBackground = true;
            MonitorLowThread.Start();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Creates a new <see cref="HistorianDataWalker"/>.
        /// </summary>
        public HistorianDataWalker()
        {
            InitializeComponent();

            // Create a new log publisher instance
            m_log = Logger.CreatePublisher(typeof(HistorianDataWalker), MessageClass.Application);
        }
        private static void OnChatLogItemReceived(object sender, ChatLogItemEvent chatLogItemEvent)
        {
            // delegate event from chat log, not required to subsribe
            // this updates 100 times a second and only sends a line when it gets a new one
            if (sender == null)
            {
                return;
            }

            ChatLogItem chatLogEntry = chatLogItemEvent.ChatLogItem;

            Logging.Log(Logger, new LogItem(chatLogItemEvent.ChatLogItem.Code));
            Logging.Log(Logger, new LogItem(chatLogItemEvent.ChatLogItem.Bytes.ToString()));
            Logging.Log(Logger, new LogItem(chatLogItemEvent.ChatLogItem.Combined));
            Logging.Log(Logger, new LogItem(chatLogItemEvent.ChatLogItem.Line));
            Logging.Log(Logger, new LogItem(chatLogItemEvent.ChatLogItem.Raw));
            Logging.Log(Logger, new LogItem(chatLogItemEvent.ChatLogItem.TimeStamp.ToString("o")));
            try
            {
                LogPublisher.Process(chatLogEntry);
            }
            catch (Exception ex) {
                Logging.Log(Logger, new LogItem(ex, true));
            }
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            FileLogSubscriber sub = new FileLogSubscriber();

            sub.InitializeSubscription();

            //Task.Run(() => {
            //    FileLogSubscriber sub = new FileLogSubscriber();
            //});


            //Task.Run(() => {
            //    LogPublisher pub = new LogPublisher();
            //    pub.PublishLog(new EventType.Data.FileLoggerMessage { });
            //});

            var          message = new FileLoggerMessage();
            LogPublisher pub     = new LogPublisher();

            while (true)
            {
                Console.WriteLine("Enter Title:>>>");
                message.Title = Console.ReadLine();

                Console.WriteLine("Enter Description:>>>");
                message.Detail = Console.ReadLine();
                pub.PublishLog(message);
                Console.WriteLine("\n-------------------------------------------------------\n");
            }


            Console.ReadLine();
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Creates a new <see cref="BenchmarkBerkeleyDB"/>.
        /// </summary>
        public BenchmarkBerkeleyDB()
        {
            InitializeComponent();

            // Create a new log publisher instance
            m_log = Logger.CreatePublisher(typeof(BenchmarkBerkeleyDB), MessageClass.Application);
        }
Ejemplo n.º 6
0
        internal SharedTimer(SharedTimerScheduler scheduler, int interval = 100)
        {
            if (scheduler == null)
            {
                throw new ArgumentNullException(nameof(scheduler));
            }

            if (scheduler.IsDisposed)
            {
                throw new ArgumentException("Scheduler has been disposed", nameof(scheduler));
            }

            if (interval <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(interval));
            }

            m_log       = Logger.CreatePublisher(typeof(SharedTimerScheduler), MessageClass.Component);
            m_scheduler = scheduler;
            m_interval  = interval;
            m_enabled   = false;
            m_autoReset = true;
            m_callback  = TimerCallback;
            m_scheduler = scheduler;
        }
Ejemplo n.º 7
0
        public BulkCalculationState()
        {
            InitializeComponent();

            // Create a new log publisher instance
            m_log = Logger.CreatePublisher(typeof(BulkCalculationState), MessageClass.Application);
        }
 // called during Verse.Mod instantiation
 private void InitializeController()
 {
     try {
         ReadOwnVersion();
         Logger.Message("version {0}", LibraryVersion);
         PrepareReflection();
         ApplyHarmonyPatches();
         Settings = new ModSettingsManager();
         Settings.BeforeModSettingsSaved += OnBeforeModSettingsSaved;
         UpdateFeatures = new UpdateFeatureManager();
         UpdateFeatures.OnEarlyInitialize();
         TickDelayScheduler = new TickDelayScheduler();
         DistributedTicker  = new DistributedTickScheduler();
         DoLater            = new DoLaterScheduler();
         LogUploader        = new LogPublisher();
         var librarySettings = Settings.GetModSettings(ModIdentifier);
         QuickstartController.OnEarlyInitialize(librarySettings);
         ModSpotter = new ModSpottingManager();
         ModSpotter.OnEarlyInitialize();
         new LibraryVersionChecker(LibraryVersion, Logger).OnEarlyInitialize();
         LoadOrderChecker.ValidateLoadOrder();
         EnumerateModAssemblies();
         EarlyInitializeChildMods();
     } catch (Exception e) {
         Logger.ReportException(e);
     }
 }
Ejemplo n.º 9
0
        public Main()
        {
            InitializeComponent();

            // Create a new log publisher instance
            m_log = Logger.CreatePublisher(typeof(Main), MessageClass.Application);
        }
Ejemplo n.º 10
0
        public MainForm()
        {
            InitializeComponent();

            // Create a new log publisher instance
            m_log         = Logger.CreatePublisher(typeof(MainForm), MessageClass.Application);
            m_initialShow = true;
        }
Ejemplo n.º 11
0
 static Logger()
 {
     lock (Sync)
     {
         LogPublisher = new LogPublisher();
         Debug        = new DebugLogger();
     }
 }
            private ProcessClient(CtpServer server, TcpClient client)
            {
                using (Logger.AppendStackMessages("Remote Client", client.Client.RemoteEndPoint.ToString()))
                    Log = Logger.CreatePublisher(typeof(ProcessClient), MessageClass.Framework);

                m_server = server;
                m_client = client;
            }
Ejemplo n.º 13
0
 static Logger()
 {
     lock (sync)
     {
         logPublisher  = new LogPublisher();
         moduleManager = new ModuleManager();
         debugLogger   = new DebugLogger();
     }
 }
        private static void Main(string[] args)
        {
            string localPath = FilePath.GetAbsolutePath("");
            string logPath   = string.Format("{0}{1}Logs{1}", localPath, Path.DirectorySeparatorChar);

            try
            {
                if (!Directory.Exists(logPath))
                {
                    Directory.CreateDirectory(logPath);
                }
            }
            catch
            {
                logPath = localPath;
            }

            Logger.FileWriter.SetPath(logPath);
            Logger.FileWriter.SetLoggingFileCount(10);
            Logger.SuppressFirstChanceExceptionLogMessages();

            // Create a new log publisher instance
            Log = Logger.CreatePublisher(typeof(MainForm), MessageClass.Application);

            AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
            TaskScheduler.UnobservedTaskException      += TaskScheduler_UnobservedTaskException;

            IConfiguration configuration = new ConfigurationBuilder()
                                           .ConfigureGemstoneDefaults(Settings.ConfigureAppSettings, useINI: true)
                                           .AddCommandLine(args, Settings.SwitchMappings)
                                           .Build();

            Settings settings = new(configuration);

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            try
            {
                Application.Run(new MainForm {
                    Settings = settings
                });
            }
            catch (Exception ex)
            {
                Log.Publish(MessageLevel.Error, "Application", "Unhandled Application Exception", exception: ex);
            }

            try
            {
                settings.Save();
            }
            catch (Exception ex)
            {
                Log.Publish(MessageLevel.Error, "Application", "Save Settings Exception", exception: ex);
            }
        }
Ejemplo n.º 15
0
 /// <summary>
 /// Creates a new instance of the <see cref="SharedTimerScheduler"/> class.
 /// </summary>
 public SharedTimerScheduler()
 {
     m_syncRoot              = new object();
     m_log                   = Logger.CreatePublisher(typeof(SharedTimerScheduler), MessageClass.Component);
     m_schedulesByInterval   = new Dictionary <int, SharedTimerInstance>();
     m_reportStatus          = new ScheduledTask();
     m_reportStatus.Running += ReportStatus;
     m_reportStatus.Start(60 * 1000);
 }
Ejemplo n.º 16
0
 static Logger()
 {
     lock (Sync)
     {
         LogPublisher  = new LogPublisher();
         ModuleManager = new ModuleManager();
         DebugLogger   = new DebugLogger();
     }
 }
Ejemplo n.º 17
0
 private static void Error1(LogPublisher pub2)
 {
     try
     {
         int value = int.Parse("dk20");
     }
     catch (Exception ex)
     {
         pub2.Publish(MessageLevel.Critical, "Failed Cast", null, null, ex);
     }
 }
Ejemplo n.º 18
0
        /// <summary>
        /// Listen for a socket connection
        /// </summary>
        public CtpServer(IPEndPoint listenEndpoint, IServerAuthentication config)
        {
            m_config         = config;
            m_listenEndpoint = listenEndpoint ?? throw new ArgumentNullException(nameof(listenEndpoint));
            m_onAccept       = OnAccept;

            var logMessages = new LogStackMessages("Listen Port", listenEndpoint.ToString());

            using (Logger.AppendStackMessages(logMessages))
                Log = Logger.CreatePublisher(typeof(CtpServer), MessageClass.Framework);
        }
 private void RegisterOwnSettings()
 {
     try {
         var pack = Settings.GetModSettings(ModIdentifier);
         pack.EntryName         = assemblyContentPacks[Assembly.GetCallingAssembly()]?.Name ?? "HugsLib";
         pack.DisplayPriority   = ModSettingsPack.ListPriority.Lowest;
         pack.AlwaysExpandEntry = true;
         UpdateFeatures.RegisterSettings(pack);
         LogPublisher.RegisterSettings(pack);
     } catch (Exception e) {
         Logger.ReportException(e);
     }
 }
Ejemplo n.º 20
0
        private static int Main()
        {
            string localPath = FilePath.GetAbsolutePath("");
            string logPath   = string.Format("{0}{1}Logs{1}", localPath, Path.DirectorySeparatorChar);

            try
            {
                if (!Directory.Exists(logPath))
                {
                    Directory.CreateDirectory(logPath);
                }
            }
            catch
            {
                logPath = localPath;
            }

            Logger.FileWriter.SetPath(logPath);
            Logger.FileWriter.SetLoggingFileCount(10);
            Logger.SuppressFirstChanceExceptionLogMessages();

            Log = Logger.CreatePublisher(typeof(Program), MessageClass.Application);
            Log.Publish(MessageLevel.Info, "ApplicationStart");

            AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            try
            {
                using (AdoDataConnection database = Program.GetDatabaseConnection())
                {
                    if (database is null)
                    {
                        throw new InvalidOperationException("No configured database connection string and data provider string found.");
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Publish(MessageLevel.Error, "Database Connection", exception: ex);
                MessageBox.Show($"Failed to connect to database defined in \"{Program.HostConfigFileName}\":{Environment.NewLine}{ex.Message}", "Database Connection Error", MessageBoxButtons.OK);
                return((int)ExitCode.DatabaseConnectFailure);
            }

            AdapterExplorerApplication app = new AdapterExplorerApplication();

            app.Run(Environment.GetCommandLineArgs());
            return((int)ExitCode.Success);
        }
Ejemplo n.º 21
0
 private void RegisterOwnSettings()
 {
     try {
         var pack = Settings.GetModSettings(ModIdentifier);
         pack.EntryName         = "HugsLib_ownSettingsName".Translate();
         pack.DisplayPriority   = ModSettingsPack.ListPriority.Lowest;
         pack.AlwaysExpandEntry = true;
         UpdateFeatures.RegisterSettings(pack);
         QuickstartController.RegisterSettings(pack);
         LogPublisher.RegisterSettings(pack);
     } catch (Exception e) {
         Logger.ReportException(e);
     }
 }
        public MainForm()
        {
            InitializeComponent();

            m_log                  = Program.Log;
            m_messages             = new StringBuilder();
            m_appendOutputMessages = new ShortSynchronizedOperation(AppendOutputMessages,
                                                                    ex => m_log.Publish(MessageLevel.Error, "AppendOutput", "Append Output Message Exception", exception: ex));

        #if DEBUG
            m_debugBuild = true;
        #else
            m_debugBuild = false;
        #endif
        }
Ejemplo n.º 23
0
 // called during Verse.Mod instantiation
 private void InitializeController()
 {
     try {
         PrepareReflection();
         ApplyHarmonyPatches();
         Settings           = new ModSettingsManager(OnSettingsChanged);
         UpdateFeatures     = new UpdateFeatureManager();
         TickDelayScheduler = new TickDelayScheduler();
         DistributedTicker  = new DistributedTickScheduler();
         LogUploader        = new LogPublisher();
         ReadOwnVersionFile();
         LoadOrderChecker.ValidateLoadOrder();
     } catch (Exception e) {
         Logger.ReportException(e);
     }
 }
        private static void OnNewChatLogEntry(object sender, ChatLogEntryEvent chatLogEntryEvent)
        {
            // delegate event from chat log, not required to subsribe
            // this updates 100 times a second and only sends a line when it gets a new one
            if (sender == null)
            {
                return;
            }
            var chatLogEntry = chatLogEntryEvent.ChatLogEntry;

            try
            {
                LogPublisher.Process(chatLogEntry);
            }
            catch (Exception ex)
            {
            }
        }
Ejemplo n.º 25
0
        static ShutdownHandler()
        {
            s_syncRoot = new object();
            s_onShutdownCallbackFirst   = new List <WeakAction>();
            s_onShutdownCallbackDefault = new List <WeakAction>();
            s_onShutdownCallbackLast    = new List <WeakAction>();
            Logger.Initialize();
            Log = Logger.CreatePublisher(typeof(ShutdownHandler), MessageClass.Component);

            if (AppDomain.CurrentDomain.IsDefaultAppDomain())
            {
                AppDomain.CurrentDomain.ProcessExit += InitiateSafeShutdown;
            }
            else
            {
                AppDomain.CurrentDomain.DomainUnload += InitiateSafeShutdown;
            }
        }
Ejemplo n.º 26
0
        private static void OnChatLogItemReceived(object sender, ChatLogItemEvent chatLogItemEvent)
        {
            // delegate event from chat log, not required to subsribe
            // this updates 100 times a second and only sends a line when it gets a new one
            if (sender == null)
            {
                return;
            }

            ChatLogItem chatLogItem = chatLogItemEvent.ChatLogItem;

            try {
                LogPublisher.Process(chatLogItem);
            }
            catch (Exception ex) {
                Logging.Log(Logger, new LogItem(ex, true));
            }
        }
Ejemplo n.º 27
0
        public MainForm()
        {
            InitializeComponent();

            dataGridViewDevices.AutoGenerateColumns = true;

            // Save string format of select count label in its tag
            labelSelectCount.Tag  = labelSelectCount.Text;
            labelSelectCount.Text = "";

            // Save string format of filter expression text box in its tag
            textBoxFilterExpression.Tag  = textBoxFilterExpression.Text;
            textBoxFilterExpression.Text = "";

            // Create a new log publisher instance
            m_log = Logger.CreatePublisher(typeof(MainForm), MessageClass.Application);

            //m_graphData = new GraphData();
        }
Ejemplo n.º 28
0
        private void PluginHostOnNewChatLogEntry(object sender, ChatLogEntryEvent chatLogEntryEvent)
        {
            // delegate event from chat log, not required to subsribe
            // this updates 100 times a second and only sends a line when it gets a new one
            if (sender == null)
            {
                return;
            }
            var chatLogEntry = chatLogEntryEvent.ChatLogEntry;

            try
            {
                LogPublisher.Process(chatLogEntry);
            }
            catch (Exception ex)
            {
                //Logging.Log(LogManager.GetCurrentClassLogger(), "", ex);
                Notice = ex.Message;
            }
        }
Ejemplo n.º 29
0
 // called during Verse.Mod instantiation
 private void InitializeController()
 {
     try {
         ReadOwnVersion();
         Logger.Message("version {0}", LibraryVersion);
         PrepareReflection();
         ApplyHarmonyPatches();
         Settings           = new ModSettingsManager(OnSettingsChanged);
         UpdateFeatures     = new UpdateFeatureManager();
         TickDelayScheduler = new TickDelayScheduler();
         DistributedTicker  = new DistributedTickScheduler();
         DoLater            = new DoLaterScheduler();
         LogUploader        = new LogPublisher();
         LoadOrderChecker.ValidateLoadOrder();
         EnumerateModAssemblies();
         EarlyInitializeChildMods();
     } catch (Exception e) {
         Logger.ReportException(e);
     }
 }
Ejemplo n.º 30
0
        public void Will_send_data_through_log_publisher_at_the_end_of_the_pipeline()
        {
            string      filePath    = "path";
            Transaction transaction = new() { To = new Address("0x92A3c5e7Cee811C3402b933A6D43aAF2e56f2823") };

            IFileSystem fileSystemSub = Substitute.For <IFileSystem>();

            fileSystemSub.File.Exists(filePath).Returns(true);
            fileSystemSub.File.ReadLines(filePath).Returns(new[] { "0x92A3c5e7Cee811C3402b933A6D43aAF2e56f2823" });

            var sourceElement = new TxPoolPipelineSource <Transaction>(_txPool);
            var element       = new TxPoolPipelineElement <Transaction, Transaction>();
            var publisher     = new LogPublisher <Transaction, Transaction>(Substitute.For <IJsonSerializer>(), Substitute.For <ILogManager>(), fileSystemSub);

            var builder = new PipelineBuilder <Transaction, Transaction>(sourceElement);

            builder.AddElement(element).AddElement(publisher);
            var pipeline = builder.Build();

            _txPool.NewPending += Raise.EventWith(new object(), new TxEventArgs(transaction));
            fileSystemSub.Received().File.AppendAllText(filePath, "0x92A3c5e7Cee811C3402b933A6D43aAF2e56f2823");
        }