Exemplo n.º 1
0
        public LogFrame()
        {
            InitializeComponent();

            Logger = LogManager.GetLogger(Settings.Default.ApplicationLogger);

            TestAppender = (StringAppender)LogManager.GetRepository().GetAppenders().First(appender => appender.Name.Equals("StringLoggerTest"));
            TestAppender.OnAppend += UpdateTextBox;
        }
Exemplo n.º 2
0
        public void SetUp()
        {
            stringAppender = new StringAppender
            {
                Layout = new PatternLayout("%level - %message")
            };

            BasicConfigurator.Configure(stringAppender);
            log = LogManager.GetLogger(typeof (GettingStarted));

            log.Should().Not.Be.Null();
        }
        public void NamedPatternConverterWithPrecision2ShouldStripLessLeadingStuffIfPresent()
        {
            StringAppender stringAppender = new StringAppender();
            PatternLayout  layout         = NewPatternLayout();

            layout.AddConverter("message-as-name", typeof(MessageAsNamePatternConverter));
            layout.ConversionPattern = "%message-as-name{2}";
            layout.ActivateOptions();
            stringAppender.Layout = layout;
            ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());

            BasicConfigurator.Configure(rep, stringAppender);
            ILog log1 = LogManager.GetLogger(rep.Name, "TestAddingCustomPattern");

            log1.Info("NoDots");
            Assert.AreEqual("NoDots", stringAppender.GetString(), "%message-as-name not registered");
            stringAppender.Reset();

            log1.Info("One.Dot");
            Assert.AreEqual("One.Dot", stringAppender.GetString(), "%message-as-name not registered");
            stringAppender.Reset();

            log1.Info("Tw.o.Dots");
            Assert.AreEqual("o.Dots", stringAppender.GetString(), "%message-as-name not registered");
            stringAppender.Reset();

            log1.Info("TrailingDot.");
            Assert.AreEqual("TrailingDot.", stringAppender.GetString(), "%message-as-name not registered");
            stringAppender.Reset();

            log1.Info(".LeadingDot");
            Assert.AreEqual("LeadingDot", stringAppender.GetString(), "%message-as-name not registered");
            stringAppender.Reset();

            // empty string and other evil combinations as tests for of-by-one mistakes in index calculations
            log1.Info(string.Empty);
            Assert.AreEqual(string.Empty, stringAppender.GetString(), "%message-as-name not registered");
            stringAppender.Reset();

            log1.Info("x");
            Assert.AreEqual("x", stringAppender.GetString(), "%message-as-name not registered");
            stringAppender.Reset();

            log1.Info(".");
            Assert.AreEqual(".", stringAppender.GetString(), "%message-as-name not registered");
            stringAppender.Reset();
        }
        public void TestBackgroundThreadContextProperty()
        {
            StringAppender stringAppender = new StringAppender
            {
                Layout = new PatternLayout("%property{DateTimeTodayToString}")
            };

            ILoggerRepository rep = LogManager.CreateRepository(TestBackgroundThreadContextPropertyRepository = "TestBackgroundThreadContextPropertyRepository" + Guid.NewGuid().ToString());

            BasicConfigurator.Configure(rep, stringAppender);

            Thread thread = new Thread(new ThreadStart(ExecuteBackgroundThread));

            thread.Start();

            Thread.CurrentThread.Join(2000);
        }
Exemplo n.º 5
0
        public void TestStackTracePattern()
        {
            StringAppender stringAppender = new StringAppender
            {
                Layout = NewPatternLayout("%stacktrace{2}")
            };

            ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());

            BasicConfigurator.Configure(rep, stringAppender);

            ILog log1 = LogManager.GetLogger(rep.Name, "TestStackTracePattern");

            log1.Info("TestMessage");
            StringAssert.EndsWith("PatternLayoutTest.TestStackTracePattern", stringAppender.GetString(), "stack trace value set");
            stringAppender.Reset();
        }
        public void PatternLayoutConverterProperties()
        {
            XmlDocument log4netConfig = new XmlDocument();

            log4netConfig.LoadXml(@"
                <log4net>
                  <appender name=""StringAppender"" type=""UnitTestProject1.Appender.StringAppender, UnitTestProject1"">
                    <layout type=""log4net.Layout.PatternLayout"">
                        <converter>
                            <name value=""propertyKeyCount"" />
                            <type value=""UnitTestProject1.Util.PropertyKeyCountPatternLayoutConverter, UnitTestProject1"" />
                            <property>
                                <key value=""one-plus-one"" />
                                <value value=""2"" />
                            </property>
                            <property>
                               <key value=""two-plus-two"" />
                               <value value=""4"" />
                            </property> 
                        </converter>
                        <conversionPattern value=""%propertyKeyCount"" />
                    </layout>
                  </appender>
                  <root>
                    <level value=""ALL"" />                  
                    <appender-ref ref=""StringAppender"" />
                  </root>  
                </log4net>");

            ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());

            XmlConfigurator.Configure(rep, log4netConfig["log4net"]);

            ILog log = LogManager.GetLogger(rep.Name, "PatternLayoutConverterProperties");

            log.Debug("Message");

            PropertyKeyCountPatternLayoutConverter converter = PropertyKeyCountPatternLayoutConverter.MostRecentInstance;

            Assert.AreEqual(2, converter.Properties.Count);
            Assert.AreEqual("4", converter.Properties["two-plus-two"]);

            StringAppender appender = (StringAppender)LogManager.GetRepository(rep.Name).GetAppenders()[0];

            Assert.AreEqual("2", appender.GetString());
        }
Exemplo n.º 7
0
        public void ThreadTimestampVerbosityTest()
        {
            var appender = new StringAppender();

            using (var runner = new LogRunner(new PatternLogFormatter("{THREAD} {VERBOSITY} {TIMESTAMP:yyyy-MM-dd HH:mm:ss.fff} {MESSAGE}")))
            {
                runner.AddAppender(appender);

                var logger = new Logger(runner, "nunit", () => { return(DateTime.Parse("2019-01-02 23:24:25.876")); });

                logger.Debug("Message {0}", 1);
                logger.Debug(1, "Message {0}", 2);
            }

            Assert.AreEqual(2, appender.Logs.Count);
            Assert.AreEqual(Thread.CurrentThread.Name + " 0 2019-01-02 23:24:25.876 Message 1", appender.Logs[0].Line);
            Assert.AreEqual(Thread.CurrentThread.Name + " 1 2019-01-02 23:24:25.876 Message 2", appender.Logs[1].Line);
        }
Exemplo n.º 8
0
        public void BracketsInStackTracesAreEscapedProperly()
        {
            XmlLayout      layout         = new XmlLayout();
            StringAppender stringAppender = new StringAppender
            {
                Layout = layout
            };

            ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());

            BasicConfigurator.Configure(rep, stringAppender);
            ILog         log1 = LogManager.GetLogger(rep.Name, "TestLogger");
            Action <int> bar  = foo => {
                try {
                    throw new NullReferenceException();
                }
                catch (Exception ex) {
                    log1.Error(string.Format("Error {0}", foo), ex);
                }
            };

            bar(42);

            var log = stringAppender.GetString();

#if NETSTANDARD1_3
            var startOfExceptionText = log.IndexOf("<exception>", StringComparison.Ordinal) + 11;
            var endOfExceptionText   = log.IndexOf("</exception>", StringComparison.Ordinal);
#else
            var startOfExceptionText = log.IndexOf("<exception>", StringComparison.InvariantCulture) + 11;
            var endOfExceptionText   = log.IndexOf("</exception>", StringComparison.InvariantCulture);
#endif
            var sub = log.Substring(startOfExceptionText, endOfExceptionText - startOfExceptionText);
            if (sub.StartsWith("<![CDATA["))
            {
                StringAssert.EndsWith("]]>", sub);
            }
            else
            {
                StringAssert.DoesNotContain("<", sub);
                StringAssert.DoesNotContain(">", sub);
            }
        }
        public async Task TestLogicalThreadPropertiesPatternAsyncAwait()
        {
            StringAppender stringAppender = new StringAppender
            {
                Layout = new PatternLayout("%property{" + Utils.PROPERTY_KEY + "}")
            };

            ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());

            BasicConfigurator.Configure(rep, stringAppender);

            ILog log1 = LogManager.GetLogger(rep.Name, "TestLogicalThreadPropertiesPattern");

            log1.Info("TestMessage");
            Assert.AreEqual(SystemInfo.NullText, stringAppender.GetString(), "Test no logical thread stack value set");
            stringAppender.Reset();

            string testValueForCurrentContext = "Outer";

            LogicalThreadContext.Properties[Utils.PROPERTY_KEY] = testValueForCurrentContext;

            log1.Info("TestMessage");
            Assert.AreEqual(testValueForCurrentContext, stringAppender.GetString(), "Test logical thread properties value set");
            stringAppender.Reset();

            var strings = await Task.WhenAll(Enumerable.Range(0, 10).Select(x => SomeWorkProperties(x.ToString())));

            // strings should be ["00AA0BB0", "01AA1BB1", "02AA2BB2", ...]
            for (int i = 0; i < strings.Length; i++)
            {
                Assert.AreEqual(string.Format("{0}{1}AA{1}BB{1}", testValueForCurrentContext, i), strings[i], "Test logical thread properties expected sequence");
            }

            log1.Info("TestMessage");
            Assert.AreEqual(testValueForCurrentContext, stringAppender.GetString(), "Test logical thread properties value set");
            stringAppender.Reset();

            LogicalThreadContext.Properties.Remove(Utils.PROPERTY_KEY);

            log1.Info("TestMessage");
            Assert.AreEqual(SystemInfo.NullText, stringAppender.GetString(), "Test logical thread properties value removed");
            stringAppender.Reset();
        }
Exemplo n.º 10
0
        public void TestStackTracePattern()
        {
            StringAppender stringAppender = new StringAppender();

            stringAppender.Layout = new PatternLayout("%stacktrace{2}");

            ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());

            BasicConfigurator.Configure(rep, stringAppender);

            ILog log1 = LogManager.GetLogger(rep.Name, "TestStackTracePattern");

            log1.Info("TestMessage");
#if !MONO
            Assert.AreEqual("RuntimeMethodHandle._InvokeMethodFast > PatternLayoutTest.TestStackTracePattern", stringAppender.GetString(), "stack trace value set");
#else
            Assert.AreEqual("MonoMethod.InternalInvoke > PatternLayoutTest.TestStackTracePattern", stringAppender.GetString(), "stack trace value set");
#endif
            stringAppender.Reset();
        }
Exemplo n.º 11
0
        public void TestAddingCustomPattern()
        {
            var stringAppender = new StringAppender();
            var layout         = new PatternLayout();

            layout.AddConverter("TestAddingCustomPattern", typeof(TestMessagePatternConverter));
            layout.ConversionPattern = "%TestAddingCustomPattern";
            layout.ActivateOptions();

            stringAppender.Layout = layout;

            var rep = LogManager.CreateRepository(Guid.NewGuid().ToString());

            BasicConfigurator.Configure(rep, stringAppender);

            var log1 = LogManager.GetLogger(rep.Name, "TestAddingCustomPattern");

            log1.Info("TestMessage");
            Assert.AreEqual("TestMessage", stringAppender.GetString(), "%TestAddingCustomPattern not registered");
        }
Exemplo n.º 12
0
        public void TestExceptionPattern()
        {
            StringAppender stringAppender = new StringAppender();
            PatternLayout  layout         = new PatternLayout("%exception{stacktrace}");

            stringAppender.Layout = layout;

            ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());

            BasicConfigurator.Configure(rep, stringAppender);

            ILog log1 = LogManager.GetLogger(rep.Name, "TestExceptionPattern");

            Exception exception = new Exception("Oh no!");

            log1.Info("TestMessage", exception);

            Assert.AreEqual(SystemInfo.NullText, stringAppender.GetString());

            stringAppender.Reset();
        }
Exemplo n.º 13
0
        [Test] public void TestPropertyCharacterEscaping()
        {
            LoggingEventData evt = createBaseEvent();

            evt.Properties["Property1"] = "prop1 \"quoted\"";

            XmlLayout      layout         = new XmlLayout();
            StringAppender stringAppender = new StringAppender();

            stringAppender.Layout = layout;

            ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());

            BasicConfigurator.Configure(rep, stringAppender);
            ILog log1 = LogManager.GetLogger(rep.Name, "TestThreadProperiesPattern");

            log1.Logger.Log(new LoggingEvent(evt));

            string expected = createEventNode("Property1", "prop1 &quot;quoted&quot;");

            Assert.AreEqual(expected, stringAppender.GetString());
        }
Exemplo n.º 14
0
        [Test] public void TestPropertyIllegalCharacterMaskingInName()
        {
            LoggingEventData evt = createBaseEvent();

            evt.Properties["Property\uFFFF"] = "mask this ->\uFFFF";

            XmlLayout      layout         = new XmlLayout();
            StringAppender stringAppender = new StringAppender();

            stringAppender.Layout = layout;

            ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());

            BasicConfigurator.Configure(rep, stringAppender);
            ILog log1 = LogManager.GetLogger(rep.Name, "TestThreadProperiesPattern");

            log1.Logger.Log(new LoggingEvent(evt));

            string expected = createEventNode("Property?", "mask this -&gt;?");

            Assert.AreEqual(expected, stringAppender.GetString());
        }
Exemplo n.º 15
0
        private void CreateScript()
        {
            TargetDir = TargetDir.EnsureDirEnd();

            var appender           = new StringAppender();
            var successfulSettings = new List <YuScriptCreateSetting>();

            foreach (var setting in ScriptCreateSettings)
            {
                if (string.IsNullOrEmpty(setting.ScriptId))
                {
                    //YuEditorAPIInvoker.DisplayTip("脚本名不能为空!");
                    return;
                }

                var scriptPath = TargetDir + setting.ScriptId + ".cs";
                if (File.Exists(scriptPath))
                {
                    Debug.Log($"目标脚本{scriptPath}已存在,创建取消!");
                    continue;
                }

                AppendNoteHead(appender, setting);
                AppendBody(appender, setting);


                var content = appender.ToString();
                IOUtility.WriteAllText(scriptPath, content);
                appender.Clean();
                successfulSettings.Add(setting);
            }

            foreach (var setting in successfulSettings)
            {
                ScriptCreateSettings.Remove(setting);
            }

            AssetDatabase.Refresh();
        }
        public async Task TestLogicalThreadStackPatternAsyncAwait()
        {
            StringAppender stringAppender = new StringAppender();

            stringAppender.Layout = new PatternLayout("%property{" + Utils.PROPERTY_KEY + "}");

            ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());

            BasicConfigurator.Configure(rep, stringAppender);

            ILog log1 = LogManager.GetLogger(rep.Name, "TestLogicalThreadStackPattern");

            log1.Info("TestMessage");
            Assert.AreEqual(SystemInfo.NullText, stringAppender.GetString(), "Test no logical thread stack value set");
            stringAppender.Reset();

            string testValueForCurrentContext = "Outer";

            string[] strings = null;
            using (LogicalThreadContext.Stacks[Utils.PROPERTY_KEY].Push(testValueForCurrentContext))
            {
                log1.Info("TestMessage");
                Assert.AreEqual(testValueForCurrentContext, stringAppender.GetString(), "Test logical thread stack value set");
                stringAppender.Reset();

                strings = await Task.WhenAll(Enumerable.Range(0, 10).Select(x => SomeWorkStack(x.ToString())));
            }

            // strings should be ["Outer 0 AOuter 0 AOuter 0Outer 0 BOuter 0 B Outer 0", ...]
            for (int i = 0; i < strings.Length; i++)
            {
                Assert.AreEqual(string.Format("{0} {1} A{0} {1} A{0} {1}{0} {1} B{0} {1} B{0} {1}", testValueForCurrentContext, i), strings[i], "Test logical thread properties expected sequence");
            }

            log1.Info("TestMessage");
            Assert.AreEqual(SystemInfo.NullText, stringAppender.GetString(), "Test logical thread properties value removed");
            stringAppender.Reset();
        }
        public void TestFilterCustomException()
        {
            IAppender[] appenders = LogManager.GetRepository(loggerRepository.Name).GetAppenders();
            Assert.IsTrue(appenders.Length == 1);

            IAppender appender = Array.Find(appenders, delegate(IAppender a) {
                return(a.Name == "MemoryAppender");
            });

            Assert.IsNotNull(appender);

            StringAppender stringAppender = appender as StringAppender;

            Assert.IsNotNull(stringAppender);

            ILog log1 = LogManager.GetLogger(loggerRepository.Name, "TestFormatString");

            Assert.IsNotNull(log1);

            // ***
            log1.Info("Testing for ExceptionTypeFilterTestException", new ExceptionTypeFilterTestException());
            Assert.AreEqual("Testing for ExceptionTypeFilterTestException", stringAppender.GetString(), "Test ExceptionTypeFilterTestException can be filter.");
        }
Exemplo n.º 18
0
        public void TestShutdownAndReconfigure()
        {
            // Create unique repository
            ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());

            // Create appender and configure repos
            StringAppender stringAppender = new StringAppender
            {
                Layout = new PatternLayout("%m")
            };

            BasicConfigurator.Configure(rep, stringAppender);

            // Get logger from repos
            ILog log1 = LogManager.GetLogger(rep.Name, "logger1");

            log1.Info("TestMessage1");
            Assert.AreEqual("TestMessage1", stringAppender.GetString(), "Test logging configured");
            stringAppender.Reset();

            rep.Shutdown();

            log1.Info("TestMessage2");
            Assert.AreEqual("", stringAppender.GetString(), "Test not logging while shutdown");
            stringAppender.Reset();

            // Create new appender and configure
            stringAppender = new StringAppender
            {
                Layout = new PatternLayout("%m")
            };
            BasicConfigurator.Configure(rep, stringAppender);

            log1.Info("TestMessage3");
            Assert.AreEqual("TestMessage3", stringAppender.GetString(), "Test logging re-configured");
            stringAppender.Reset();
        }
Exemplo n.º 19
0
        [Test] public void TestBase64PropertyEventLogging()
        {
            LoggingEventData evt = createBaseEvent();

            evt.Properties["Property1"] = "prop1";

            XmlLayout layout = new XmlLayout();

            layout.Base64EncodeProperties = true;
            StringAppender stringAppender = new StringAppender();

            stringAppender.Layout = layout;

            ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());

            BasicConfigurator.Configure(rep, stringAppender);
            ILog log1 = LogManager.GetLogger(rep.Name, "TestThreadProperiesPattern");

            log1.Logger.Log(new LoggingEvent(evt));

            string expected = createEventNode("Property1", "cHJvcDE=");

            Assert.AreEqual(expected, stringAppender.GetString());
        }
Exemplo n.º 20
0
        public void BasicTest()
        {
            var appender = new StringAppender();

            using (var runner = new LogRunner(new PatternLogFormatter("{LEVEL} {NAME} {MESSAGE}")))
            {
                runner.AddAppender(appender);

                var logger = new Logger(runner, "N$AME");

                logger.Debug("Message {0}", 1);
                logger.Info("Message {0}", 2);
                logger.Warn("Message {0}", 3);
                logger.Error("Message {0}", 4);
                logger.Success("Message {0}", 5);
            }

            Assert.AreEqual(5, appender.Logs.Count);
            Assert.AreEqual("DEBUG N$AME Message 1", appender.Logs[0].Line);
            Assert.AreEqual("INFO N$AME Message 2", appender.Logs[1].Line);
            Assert.AreEqual("WARN N$AME Message 3", appender.Logs[2].Line);
            Assert.AreEqual("ERROR N$AME Message 4", appender.Logs[3].Line);
            Assert.AreEqual("SUCCESS N$AME Message 5", appender.Logs[4].Line);
        }
        private void ButtonGetValues_Click(object sender, RoutedEventArgs e)
        {
            if (SelectedGID == null)
            {
                return;
            }

            List <ModelCode> selectedProperties = new List <ModelCode>();

            foreach (var child in Properties.Children)
            {
                if (child is CheckBox checkBox)
                {
                    if (checkBox.IsChecked.Value)
                    {
                        foreach (KeyValuePair <ModelCode, string> keyValuePair in propertiesDesc)
                        {
                            if (keyValuePair.Value.Equals(checkBox.Content))
                            {
                                selectedProperties.Add(keyValuePair.Key);
                            }
                        }
                    }
                }
            }
            ResourceDescription rd = null;

            try
            {
                rd = tgda.GetValues(SelectedGID.GID, selectedProperties);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "GetValues", MessageBoxButton.OK, MessageBoxImage.Error);
            }

            if (rd != null)
            {
                StringBuilder sb = new StringBuilder();
                sb.Append("Returned entity" + Environment.NewLine + Environment.NewLine);
                sb.Append($"Entity with gid: 0x{rd.Id:X16}" + Environment.NewLine);

                foreach (Property property in rd.Properties)
                {
                    switch (property.Type)
                    {
                    case PropertyType.Int64:
                        StringAppender.AppendLong(sb, property);
                        break;

                    case PropertyType.Float:
                        StringAppender.AppendFloat(sb, property);
                        break;

                    case PropertyType.String:
                        StringAppender.AppendString(sb, property);
                        break;

                    case PropertyType.Reference:
                        StringAppender.AppendReference(sb, property);
                        break;

                    case PropertyType.ReferenceVector:
                        StringAppender.AppendReferenceVector(sb, property);
                        break;

                    default:
                        sb.Append($"{property.Id}: {property.PropertyValue.LongValue}{Environment.NewLine}");
                        break;
                    }
                }

                Values.Document.Blocks.Clear();
                Values.AppendText(sb.ToString());
            }
        }
Exemplo n.º 22
0
        public async Task <List <long> > GetExtentValues(ModelCode modelCodeType, List <ModelCode> properties, StringBuilder sb)
        {
            string message = "Getting extent values method started.";

            Logger.LogInformation(message);

            int           iteratorId;
            int           resourcesLeft;
            int           numberOfResources = 300;
            List <long>   ids    = new List <long>();
            StringBuilder tempSb = new StringBuilder();

            try
            {
                var nmsClient = NetworkModelGdaClient.CreateClient();

                if (nmsClient == null)
                {
                    string errMsg = "NetworkModelGdaClient is null.";
                    Logger.LogWarning(errMsg);
                    throw new NullReferenceException(errMsg);
                }

                iteratorId = await nmsClient.GetExtentValues(modelCodeType, properties);

                resourcesLeft = await nmsClient.IteratorResourcesLeft(iteratorId);

                while (resourcesLeft > 0)
                {
                    List <ResourceDescription> rds = await nmsClient.IteratorNext(numberOfResources, iteratorId);

                    for (int i = 0; i < rds.Count; i++)
                    {
                        if (rds[i] == null)
                        {
                            continue;
                        }

                        tempSb.Append($"Entity with gid: 0x{rds[i].Id:X16}" + Environment.NewLine);

                        foreach (Property property in rds[i].Properties)
                        {
                            switch (property.Type)
                            {
                            case PropertyType.Int64:
                                StringAppender.AppendLong(tempSb, property);
                                break;

                            case PropertyType.Float:
                                StringAppender.AppendFloat(tempSb, property);
                                break;

                            case PropertyType.String:
                                StringAppender.AppendString(tempSb, property);
                                break;

                            case PropertyType.Reference:
                                StringAppender.AppendReference(tempSb, property);
                                break;

                            case PropertyType.ReferenceVector:
                                StringAppender.AppendReferenceVector(tempSb, property);
                                break;

                            default:
                                tempSb.Append($"{property.Id}: {property.PropertyValue.LongValue}{Environment.NewLine}");
                                break;
                            }
                        }

                        ids.Add(rds[i].Id);
                    }

                    resourcesLeft = await nmsClient.IteratorResourcesLeft(iteratorId);
                }

                await nmsClient.IteratorClose(iteratorId);

                message = "Getting extent values method SUCCESSFULLY finished.";
                Logger.LogInformation(message);
            }
            catch (Exception e)
            {
                message = string.Format("Getting extent values method failed for {0}.\n\t{1}", modelCodeType, e.Message);
                Logger.LogError(message);
            }

            if (sb != null)
            {
                sb.Append(tempSb.ToString());
            }

            return(ids);
        }
Exemplo n.º 23
0
        public void TestLogFormatApi_NoInfo()
        {
            while (true)
            {
            }
            StringAppender stringAppender = new StringAppender();

            stringAppender.Threshold = Level.Warn;
            stringAppender.Layout    = new PatternLayout("%level:%message");

            ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());

            BasicConfigurator.Configure(rep, stringAppender);

            ILog log1 = LogManager.GetLogger(rep.Name, "TestLogFormatApi_Info");

            // ***
            log1.Info("TestMessage");
            Assert.AreEqual("", stringAppender.GetString(), "Test simple INFO event 1");
            stringAppender.Reset();

            // ***
            log1.Info("TestMessage", null);
            Assert.AreEqual("", stringAppender.GetString(), "Test simple INFO event 2");
            stringAppender.Reset();

            // ***
            log1.Info("TestMessage", new Exception("Exception message"));
            Assert.AreEqual("", stringAppender.GetString(), "Test simple INFO event 3");
            stringAppender.Reset();

            // ***
            log1.InfoFormat("a{0}", "1");
            Assert.AreEqual("", stringAppender.GetString(), "Test formatted INFO event with 1 parm");
            stringAppender.Reset();

            // ***
            log1.InfoFormat("a{0}b{1}", "1", "2");
            Assert.AreEqual("", stringAppender.GetString(), "Test formatted INFO event with 2 parm");
            stringAppender.Reset();

            // ***
            log1.InfoFormat("a{0}b{1}c{2}", "1", "2", "3");
            Assert.AreEqual("", stringAppender.GetString(), "Test formatted INFO event with 3 parm");
            stringAppender.Reset();


            // ***
            log1.InfoFormat("a{0}b{1}c{2}d{3}e{4}f", "Q", "W", "E", "R", "T", "Y");
            Assert.AreEqual("", stringAppender.GetString(), "Test formatted INFO event with 5 parms (only 4 used)");
            stringAppender.Reset();

            // ***
            log1.InfoFormat(null, "Before {0} After {1}", "Middle", "End");
            Assert.AreEqual("", stringAppender.GetString(), "Test formatting with null provider");
            stringAppender.Reset();

            // ***
            log1.InfoFormat(new CultureInfo("en"), "Before {0} After {1}", "Middle", "End");
            Assert.AreEqual("", stringAppender.GetString(), "Test formatting with 'en' provider");
            stringAppender.Reset();
        }
Exemplo n.º 24
0
        public List <long> GetExtentValues(ModelCode modelCodeType, List <ModelCode> properties, StringBuilder sb)
        {
            string message = "Getting extent values method started.";

            Logger.LogInfo(message);

            int           iteratorId;
            int           resourcesLeft;
            int           numberOfResources = 300;
            List <long>   ids    = new List <long>();
            StringBuilder tempSb = new StringBuilder();

            try
            {
                using (NetworkModelGDAProxy gdaQueryProxy = proxyFactory.CreateProxy <NetworkModelGDAProxy, INetworkModelGDAContract>(EndpointNames.NetworkModelGDAEndpoint))
                {
                    if (gdaQueryProxy == null)
                    {
                        string errMsg = "NetworkModelGDAProxy is null.";
                        Logger.LogWarn(errMsg);
                        throw new NullReferenceException(errMsg);
                    }

                    iteratorId    = gdaQueryProxy.GetExtentValues(modelCodeType, properties);
                    resourcesLeft = gdaQueryProxy.IteratorResourcesLeft(iteratorId);

                    while (resourcesLeft > 0)
                    {
                        List <ResourceDescription> rds = gdaQueryProxy.IteratorNext(numberOfResources, iteratorId);

                        for (int i = 0; i < rds.Count; i++)
                        {
                            if (rds[i] != null)
                            {
                                tempSb.Append($"Entity with gid: 0x{rds[i].Id:X16}" + Environment.NewLine);

                                foreach (Property property in rds[i].Properties)
                                {
                                    switch (property.Type)
                                    {
                                    case PropertyType.Int64:
                                        StringAppender.AppendLong(tempSb, property);
                                        break;

                                    case PropertyType.Float:
                                        StringAppender.AppendFloat(tempSb, property);
                                        break;

                                    case PropertyType.String:
                                        StringAppender.AppendString(tempSb, property);
                                        break;

                                    case PropertyType.Reference:
                                        StringAppender.AppendReference(tempSb, property);
                                        break;

                                    case PropertyType.ReferenceVector:
                                        StringAppender.AppendReferenceVector(tempSb, property);
                                        break;

                                    default:
                                        tempSb.Append($"{property.Id}: {property.PropertyValue.LongValue}{Environment.NewLine}");
                                        break;
                                    }
                                }
                            }
                            ids.Add(rds[i].Id);
                        }
                        resourcesLeft = gdaQueryProxy.IteratorResourcesLeft(iteratorId);
                    }

                    gdaQueryProxy.IteratorClose(iteratorId);

                    message = "Getting extent values method successfully finished.";
                    Logger.LogInfo(message);
                }
            }
            catch (Exception e)
            {
                message = string.Format("Getting extent values method failed for {0}.\n\t{1}", modelCodeType, e.Message);
                Logger.LogError(message);
            }

            if (sb != null)
            {
                sb.Append(tempSb.ToString());
            }

            return(ids);
        }
Exemplo n.º 25
0
        public List <long> GetExtentValues(ModelCode modelCodeType, List <ModelCode> properties, StringBuilder sb)
        {
            string message = "Getting extent values method started.";

            CommonTrace.WriteTrace(CommonTrace.TraceError, message);

            int           iteratorId        = 0;
            int           resourcesLeft     = 0;
            int           numberOfResources = 300;
            List <long>   ids    = new List <long>();
            StringBuilder tempSb = new StringBuilder();

            try
            {
                iteratorId    = GdaQueryProxy.GetExtentValues(modelCodeType, properties);
                resourcesLeft = GdaQueryProxy.IteratorResourcesLeft(iteratorId);

                while (resourcesLeft > 0)
                {
                    List <ResourceDescription> rds = GdaQueryProxy.IteratorNext(numberOfResources, iteratorId);

                    for (int i = 0; i < rds.Count; i++)
                    {
                        if (rds[i] != null)
                        {
                            tempSb.Append($"Entity with gid: 0x{rds[i].Id:X16}" + Environment.NewLine);

                            foreach (Property property in rds[i].Properties)
                            {
                                switch (property.Type)
                                {
                                case PropertyType.Int64:
                                    StringAppender.AppendLong(tempSb, property);
                                    break;

                                case PropertyType.Float:
                                    StringAppender.AppendFloat(tempSb, property);
                                    break;

                                case PropertyType.String:
                                    StringAppender.AppendString(tempSb, property);
                                    break;

                                case PropertyType.Reference:
                                    StringAppender.AppendReference(tempSb, property);
                                    break;

                                case PropertyType.ReferenceVector:
                                    StringAppender.AppendReferenceVector(tempSb, property);
                                    break;

                                default:
                                    tempSb.Append($"{property.Id}: {property.PropertyValue.LongValue}{Environment.NewLine}");
                                    break;
                                }
                            }
                        }
                        ids.Add(rds[i].Id);
                    }
                    resourcesLeft = GdaQueryProxy.IteratorResourcesLeft(iteratorId);
                }
                GdaQueryProxy.IteratorClose(iteratorId);

                message = "Getting extent values method successfully finished.";
                CommonTrace.WriteTrace(CommonTrace.TraceError, message);
            }
            catch (Exception e)
            {
                message = string.Format("Getting extent values method failed for {0}.\n\t{1}", modelCodeType, e.Message);
                CommonTrace.WriteTrace(CommonTrace.TraceError, message);
            }

            if (sb != null)
            {
                sb.Append(tempSb.ToString());
            }

            return(ids);
        }