Ejemplo n.º 1
0
        private void MainWindowInitialized(object sender, EventArgs e)
        {
            // Set Log Target
            // https://nlog.codeplex.com/workitem/6272

            /*var target = new WpfRichTextBoxTarget
             * {
             *  Name = ConsoleTargetName,
             *  Layout = "${time:}|${threadid:padding=3}|${level:uppercase=true:padding=-5}|${logger:padding=-15}|${message}|${exception}",
             *  ControlName = TextLog.Name,
             *  FormName = Name,
             *  AutoScroll = true,
             *  MaxLines = 100000,
             *  UseDefaultRowColoringRules = true
             * };
             * _wrapper = new AsyncTargetWrapper
             * {
             *  Name = ConsoleTargetName,
             *  WrappedTarget = target
             * };*/
            //SimpleConfigurator.ConfigureForTargetLogging(_wrapper, LogLevel.Trace);
            this.TextLog.Document.PageWidth = 1000;

            this.Dispatcher.Invoke(
                () =>
            {
                var target = new WpfRichTextBoxTarget
                {
                    Name   = "RichText",
                    Layout =
                        //"[${longdate:useUTC=false}] :: [${level:uppercase=true}] :: ${logger}:${callsite} :: ${message} ${exception:innerFormat=tostring:maxInnerExceptionLevel=10:separator=,:format=tostring}",
                        "${date:format=MM-dd-yyyy HH\\:mm\\:ss} [${uppercase:${level}}] ${message}",
                    ControlName = this.TextLog.Name,
                    FormName    = this.GetType().Name,
                    AutoScroll  = true,
                    MaxLines    = 100000,
                    UseDefaultRowColoringRules = true
                };
                var asyncWrapper = new AsyncTargetWrapper {
                    Name = "RichTextAsync", WrappedTarget = target
                };

                LogManager.Configuration.AddTarget(asyncWrapper.Name, asyncWrapper);
                LogManager.Configuration.LoggingRules.Insert(0, new LoggingRule("*", LogLevel.Debug, asyncWrapper));
                LogManager.ReconfigExistingLoggers();
            });

            /*Logger.Log(LogLevel.Info, "The time is: {0}", DateTime.Now);
             * Logger.Log(LogLevel.Error, "The time is: {0}", DateTime.Now);
             * Logger.Log(LogLevel.Debug, "The time is: {0}", DateTime.Now);
             * Logger.Log(LogLevel.Trace, "The time is: {0}", DateTime.Now);
             * Logger.Log(LogLevel.Warn, "The time is: {0}", DateTime.Now);
             * //Logger.Log(LogLevel.Off, "The time is: {0}", DateTime.Now);*/

            this.Logger.Info(string.Format("The time is: {0}", DateTime.Now));
            this.Logger.Error(string.Format("The time is: {0}", DateTime.Now));
            this.Logger.Debug(string.Format("The time is: {0}", DateTime.Now));
            this.Logger.Warn(string.Format("The time is: {0}", DateTime.Now));
            //Logger.Log(LogLevel.Off, "The time is: {0}", DateTime.Now);
        }
Ejemplo n.º 2
0
        public void InitLogger()
        {
            // Step 1. Create configuration object
            LoggingConfiguration logConfig = new LoggingConfiguration();

            // Step 2. Create targets and add them to the configuration
            var target = new WpfRichTextBoxTarget();

            logConfig.AddTarget("RichTextBox", target);
            target.FormName    = "ConverterWindow";
            target.ControlName = "loggingBox";
            FileTarget fileTarget = new FileTarget();

            logConfig.AddTarget("logFile", fileTarget);

            // Step 3. Set target properties
            target.Layout     = "${longdate:useUTC=true}|${level:uppercase=true}|${logger}::${message}";
            target.AutoScroll = true;
            target.MaxLines   = 100000;
            target.UseDefaultRowColoringRules = true;
            fileTarget.FileName         = "C:\\temp\\NanoScopy.log.txt";
            fileTarget.Layout           = "${longdate:useUTC=true}|${level:uppercase=true}|${logger}::${message}";
            fileTarget.ArchiveAboveSize = 10000;

            // Step 4. Define rules
            LoggingRule ruleRichTextBox = new LoggingRule("*", LogLevel.Trace, target);

            logConfig.LoggingRules.Add(ruleRichTextBox);
            LoggingRule ruleFile = new LoggingRule("*", LogLevel.Info, fileTarget);

            logConfig.LoggingRules.Add(ruleFile);

            // Step 5. Activate the configuration
            LogManager.Configuration = logConfig;
        }
Ejemplo n.º 3
0
        public static Target GetConsoleTarget(string consoleTargetName, RichTextBox richTextBoxName, string formName)
        {
            var target = new WpfRichTextBoxTarget(richTextBoxName)
            {
                Name   = consoleTargetName,
                Layout = " ${counter} | ${time:} | ${level:uppercase=true:padding=-5} | ${message} ",
                // ControlName =richTextBoxName,
                FormName   = formName,
                AutoScroll = true,
                MaxLines   = 10,
                UseDefaultRowColoringRules = true
            };

            return(target);
        }
Ejemplo n.º 4
0
        public NLogManager()
        {
            LoggingConfiguration config = new LoggingConfiguration();

            FileTarget fileTargetFullLog = new FileTarget();

            fileTargetFullLog.FileName  = CommonUtils.GetProgramDirectory() + "/Logs/${date:format=yyyy-MM-dd}/Full.log";
            fileTargetFullLog.Layout    = "${date:format=dd.MM.yyyy HH\\:mm\\:ss} (${level:uppercase=true}) (${logger}): ${message} ${exception:format=ToString}";
            fileTargetFullLog.AutoFlush = true;
            config.AddTarget("fullLog", fileTargetFullLog);
            LoggingRule fullLogRule = new LoggingRule("*", LogLevel.Trace, fileTargetFullLog);

            config.LoggingRules.Add(fullLogRule);

            FileTarget fileTargetShortLog = new FileTarget();

            fileTargetShortLog.FileName  = CommonUtils.GetProgramDirectory() + "/Logs/${date:format=yyyy-MM-dd}/Short.log";
            fileTargetShortLog.Layout    = "${date:format=dd.MM.yyyy HH\\:mm\\:ss} (${level:uppercase=true}): ${message}";
            fileTargetShortLog.AutoFlush = true;
            config.AddTarget("shortLog", fileTargetShortLog);
            LoggingRule shortLogRule = new LoggingRule("*", LogLevel.Info, fileTargetShortLog);

            config.LoggingRules.Add(shortLogRule);

            WpfRichTextBoxTarget richTextBoxTarget = new WpfRichTextBoxTarget();

            richTextBoxTarget.AutoScroll  = true;
            richTextBoxTarget.ControlName = "richTextBoxLog";
            richTextBoxTarget.FormName    = "Form1";
            richTextBoxTarget.UseDefaultRowColoringRules = true;
            richTextBoxTarget.Layout = "${date:format=dd.MM.yyyy HH\\:mm\\:ss} (${level:uppercase=true}): ${message}";
            config.AddTarget("richTextBoxLog", richTextBoxTarget);
            LoggingRule richTextBoxLogRule = new LoggingRule("*", LogLevel.Trace, richTextBoxTarget);

            config.LoggingRules.Add(richTextBoxLogRule);

            //AsyncTargetWrapper asyncWrapper = new AsyncTargetWrapper();
            //asyncWrapper.Name = "AsyncRichTextBox";
            //asyncWrapper.WrappedTarget = richTextBoxTarget;
            //SimpleConfigurator.ConfigureForTargetLogging(asyncWrapper, LogLevel.Info);



            NLog.LogManager.Configuration = config;
        }
Ejemplo n.º 5
0
        public MainWindow()
        {
            InitializeComponent();
            Dispatcher.Invoke(() => {
                var target = new WpfRichTextBoxTarget {
                    Name   = "RichText",
                    Layout =
                        "[${longdate:useUTC=false}] : [${level:uppercase=true}] : ${message} ${exception:innerFormat=tostring:maxInnerExceptionLevel=10:separator=,:format=tostring}",
                    ControlName = LogBox.Name,
                    FormName    = GetType().Name,
                    AutoScroll  = true,
                    MaxLines    = 100000,
                    UseDefaultRowColoringRules = true,
                };
                var asyncWrapper = new AsyncTargetWrapper {
                    Name = "RichTextAsync", WrappedTarget = target
                };

                LogManager.Configuration.AddTarget(asyncWrapper.Name, asyncWrapper);
                LogManager.Configuration.LoggingRules.Insert(0, new LoggingRule("*", LogLevel.Info, asyncWrapper));
                LogManager.ReconfigExistingLoggers();
            });
            DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();

            dispatcherTimer.Tick    += new EventHandler(dispatcherTimer_Tick);
            dispatcherTimer.Interval = new TimeSpan(0, 0, 1);
            dispatcherTimer.Start();

            int bitness;

            if (Environment.Is64BitProcess)
            {
                bitness = 64;
            }
            else
            {
                bitness = 32;
            }
            string aa     = "Double Pulsar Detection Tool";
            string myname = $"{aa} - v{Assembly.GetExecutingAssembly().GetName().Version.ToString()} {bitness}bits";

            this.Title = myname;
            _l.Info("Ready");
        }
Ejemplo n.º 6
0
        private void InitUILogging(LogLevel logLevel)
        {
            // log layout format
            var layout = "${message} ${exception:separator=\r\n:format=message,type,method,stackTrace:maxInnerExceptionLevel=10:innerExceptionSeparator=\r\n:innerFormat=message,type,method,stackTrace}";

            // create rich text box target
            var uiTarget = new WpfRichTextBoxTarget
            {
                Layout                     = layout,
                TargetRichTextBox          = loggerTextBox,
                UseDefaultRowColoringRules = true,
                AutoScroll                 = true,
                MaxLines                   = 250,
            };

            var config = LogManager.Configuration ?? new LoggingConfiguration();

            config.AddTarget("UI", uiTarget);
            config.LoggingRules.Add(new LoggingRule("*", logLevel, uiTarget.WrapAsync()));

            LogManager.Configuration = config;
        }
Ejemplo n.º 7
0
        private void InitializeLog()
        {
            var target = new WpfRichTextBoxTarget(Color.FromRgb(0, 0, 0))
            {
                Name        = "console",
                Layout      = "${message}",
                ControlName = LogRitchTextBox.Name,
                FormName    = Name,
                AutoScroll  = true,
                MaxLines    = 100000,
                UseDefaultRowColoringRules = true
            };
            var asyncWrapper = new AsyncTargetWrapper
            {
                Name          = "console",
                WrappedTarget = target
            };

            SimpleConfigurator.ConfigureForTargetLogging(asyncWrapper, NLog.LogLevel.Debug);

            LogManager.Default = new NLogManager();
        }
Ejemplo n.º 8
0
        //public static string GetFSLoc()
        //{
        //    return ADOU.Text;
        //}



        void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            Dispatcher.Invoke(() =>
            {
                var target = new WpfRichTextBoxTarget {
                    Name   = "RichText",
                    Layout =
                        "[${date:useUTC=false}] :: [${level:uppercase=true}]:: ${message} ${exception:innerFormat=tostring:maxInnerExceptionLevel=10:separator=,:format=tostring}",
                    ControlName = RichLog.Name,
                    FormName    = GetType().Name,
                    AutoScroll  = true,
                    MaxLines    = 100000,
                    UseDefaultRowColoringRules = true,
                };
                var asyncWrapper = new AsyncTargetWrapper {
                    Name = "RichTextAsync", WrappedTarget = target
                };

                LogManager.Configuration.AddTarget(asyncWrapper.Name, asyncWrapper);
                LogManager.Configuration.LoggingRules.Insert(0, new LoggingRule("*", LogLevel.Debug, asyncWrapper));
                LogManager.ReconfigExistingLoggers();
            });
        }
Ejemplo n.º 9
0
        /* Window load event */
        private void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            Dispatcher.Invoke(() =>
            {
                ((Paragraph)xaml_LogRichBox.Document.Blocks.FirstBlock).LineHeight = 3;

                var target = new WpfRichTextBoxTarget
                {
                    Name = "RichText",
                    Layout = @"[${level:uppercase=true}] :: ${callsite:className=true:fileName=false:includeSourcePath=false:methodName=false:cleanNamesOfAnonymousDelegates=false} :: ${message} ${exception:innerFormat=tostring:maxInnerExceptionLevel=10:separator=,:format=tostring}",
                    ControlName = xaml_LogRichBox.Name,
                    FormName = GetType().Name,
                    AutoScroll = true,
                    MaxLines = 100000,
                    UseDefaultRowColoringRules = false,
                };
                var asyncWrapper = new AsyncTargetWrapper { Name = "RichTextAsync", WrappedTarget = target };

                target.RowColoringRules.Clear();
                target.RowColoringRules.Add(new WpfRichTextBoxRowColoringRule("level == LogLevel.Fatal", "White", "Red", FontStyles.Normal, FontWeights.Bold));
                target.RowColoringRules.Add(new WpfRichTextBoxRowColoringRule("level == LogLevel.Error", "Red", "Transparent", FontStyles.Italic, FontWeights.Bold));
                target.RowColoringRules.Add(new WpfRichTextBoxRowColoringRule("level == LogLevel.Warn", "Orange", "Transparent"));
                target.RowColoringRules.Add(new WpfRichTextBoxRowColoringRule("level == LogLevel.Info", "Black", "Transparent"));
                target.RowColoringRules.Add(new WpfRichTextBoxRowColoringRule("level == LogLevel.Debug", "Gray", "Transparent"));
                target.RowColoringRules.Add(new WpfRichTextBoxRowColoringRule("level == LogLevel.Trace", "White", "Transparent", FontStyles.Normal, FontWeights.Normal));

                var cpuLogTarget = new FileTarget();
                cpuLogTarget.Name = "instTraceFile";
                cpuLogTarget.Layout = "${message}";
                cpuLogTarget.FileName = "${basedir}/logs/cpuTrace.txt";
                cpuLogTarget.KeepFileOpen = false;
                cpuLogTarget.DeleteOldFileOnStartup = true;
                cpuLogTarget.Encoding = Encoding.ASCII;

                LogManager.Configuration.AddTarget(asyncWrapper.Name, asyncWrapper);
                LogManager.Configuration.AddTarget(cpuLogTarget.Name, cpuLogTarget);

                var cpulogrule = new LoggingRule("Soft64.MipsR4300.Interpreter", LogLevel.Trace, cpuLogTarget);
                cpulogrule.Final = true;

                LogManager.Configuration.LoggingRules.Add(cpulogrule);
                LogManager.Configuration.LoggingRules.Add(new LoggingRule("*", LogLevel.Trace, asyncWrapper));

                LogManager.ReconfigExistingLoggers();
            });
        }