示例#1
0
        public static void Main()
        {
            ILayout simpleLayout = new SimpleLayout();
            IAppender consoleAppender = new ConsoleAppender(simpleLayout);

            var fileAppender = new FileAppender(simpleLayout);
            fileAppender.File = "../../log.txt";

            var logger = new Logger(consoleAppender, fileAppender);
            logger.Error("Error parsing JSON.");
            logger.Info(string.Format("User {0} successfully registered.", "Dobri"));
            logger.Warn("Warning - missing files.");

            var xmlLayout = new XmlLayout();
            consoleAppender = new ConsoleAppender(xmlLayout);
            logger = new Logger(consoleAppender);

            logger.Fatal("mscorlib.dll does not respond");
            logger.Critical("No connection string found in App.config");

            consoleAppender = new ConsoleAppender(simpleLayout);
            consoleAppender.ReportLevel = ReportLevel.Error;
            logger = new Logger(consoleAppender);

            logger.Info("Everything seems fine");
            logger.Warn("Warning: ping is too high - disconnect imminent");
            logger.Error("Error parsing request");
            logger.Critical("No connection string found in App.config");
            logger.Fatal("mscorlib.dll does not respond");
        }
示例#2
0
        private static void ExampleThree()
        {
            var xmlLayout = new XmlLayout();
            var consoleAppender = new ConsoleAppender(xmlLayout);
            var logger = new Logger(consoleAppender);

            logger.Fatal("mscorlib.dll does not respond");
            logger.Critical("No connection string found in App.config");
        }
示例#3
0
        public void TestCDATAEscaping2()
        {
            TextWriter       writer = new StringWriter();
            XmlLayout        layout = new XmlLayout();
            LoggingEventData evt    = CreateBaseEvent();

            //The &'s trigger the use of a cdata block
            evt.Message = "&&&&&&&Escape the end ]]>";

            layout.Format(writer, new LoggingEvent(evt));

            string expected = CreateEventNode("<![CDATA[&&&&&&&Escape the end ]]>]]&gt;");

            Assert.AreEqual(expected, writer.ToString());
        }
        public static ILayout CreateLayout(string type)
        {
            ILayout layout = null;

            if (type == "SimpleLayout")
            {
                layout = new SimpleLayout();
            }
            else if (type == "XmlLayout")
            {
                layout = new XmlLayout();
            }

            return(layout);
        }
示例#5
0
        static void Main()
        {
            //Init dependencies
            ILayout layout = new XmlLayout();
            IAppender fileAppender = new FileAppender(layout, "file.txt");
            IAppender consoleAppender = new ConsoleAppender(layout);
            Logger logger = new Logger(consoleAppender);

            //shows every report level above ReportLevel.Warn
            consoleAppender.ReportLevel = ReportLevel.Fatal;

            logger.Critical("Critical Sample Report");
            logger.Fatal("Fatal Sample Report");
            logger.Info("Info Sample Report");
        }
示例#6
0
    public static IAppender Get(string[] info)
    {
        ILayout layout = null;

        if (info[1] == "SimpleLayout")
        {
            layout = new SimpleLayout();
        }
        else if (info[1] == "XmlLayout")
        {
            layout = new XmlLayout();
        }

        IAppender appender = null;

        if (info[0] == "ConsoleAppender")
        {
            appender = new ConsoleAppender(layout);
        }
        else if (info[0] == "FileAppender")
        {
            appender = new FileAppender(layout, new LogFile());
        }

        if (info.Length == 3)
        {
            switch (info[2])
            {
            case "WARNING":
                appender.ReportLevel = ReportLevel.Warning;
                break;

            case "ERROR":
                appender.ReportLevel = ReportLevel.Error;
                break;

            case "CRITICAL":
                appender.ReportLevel = ReportLevel.Critical;
                break;

            case "FATAL":
                appender.ReportLevel = ReportLevel.Fatal;
                break;
            }
        }

        return(appender);
    }
示例#7
0
        public void ConfigureLayout_WithAttribute_ShouldSetPrefix()
        {
            // Arrange
            var sut       = new XmlLayoutAdapter();
            var attribute = new XmlLayoutAttribute()
            {
                Prefix = "Test"
            };
            var layout = new XmlLayout();

            // Act
            sut.ConfigureLayout(layout, attribute);

            // Assert
            Assert.AreEqual(attribute.Prefix, layout.Prefix);
        }
示例#8
0
        public void ConfigureLayout_WithAttribute_ShouldSetLocationInfo()
        {
            // Arrange
            var sut       = new XmlLayoutAdapter();
            var attribute = new XmlLayoutAttribute()
            {
                LocationInfo = true
            };
            var layout = new XmlLayout();

            // Act
            sut.ConfigureLayout(layout, attribute);

            // Assert
            Assert.AreEqual(attribute.LocationInfo, layout.LocationInfo);
        }
示例#9
0
        private void Initialise(XmlLayout xmlLayout)
        {
            _xmlLayout           = xmlLayout;
            _modiferTemplate     = _xmlLayout.GetElementById("ModiferTemplate");
            _modiferTextTemplate = _xmlLayout.GetElementById("ModiferTextTemplate");
            _propetyRowTemplate  = _xmlLayout.GetElementById("PropetyRowTemplate");
            _addModifierButton   = _xmlLayout.GetElementById("AddModifierButton");
            _configModifer       = _xmlLayout.GetElementById("ConfigModifer");
            _partModifer         = _xmlLayout.GetElementById("PartModifer");
            _modifierList        = _xmlLayout.GetElementById("ModifierList");
            _propetiesList       = _xmlLayout.GetElementById("PropetiesList");

            _modifiersString = GetModiferNames();
            InitialiseList(_modifiersString);
            OnModiferSelected("Part");
        }
示例#10
0
        public void ConfigureLayout_WithAttribute_ShouldSetBase64EncodeProperties()
        {
            // Arrange
            var sut       = new XmlLayoutAdapter();
            var attribute = new XmlLayoutAttribute()
            {
                Base64EncodeProperties = true
            };
            var layout = new XmlLayout();

            // Act
            sut.ConfigureLayout(layout, attribute);

            // Assert
            Assert.AreEqual(attribute.Base64EncodeProperties, layout.Base64EncodeProperties);
        }
示例#11
0
        public ILayout CreateLayout(string layoutType)
        {
            ILayout layout = null;

            switch (layoutType)
            {
            case "SimpleLayout": layout = new SimpleLayout(); break;

            case "XmlLayout": layout = new XmlLayout(); break;

            default:
                throw new ArgumentException("Invalid Layout Type !");
            }

            return(layout);
        }
        public ILayout CreateLayout(string layoutType)
        {
            ILayout layout = null;

            switch (layoutType)
            {
            case nameof(SimpleLayout):
                layout = new SimpleLayout();
                break;

            case nameof(XmlLayout):
                layout = new XmlLayout();
                break;
            }

            return(layout);
        }
示例#13
0
        public void TestAppendersFilePath()
        {
            string pathTxt = "../../log.txt";
            string pathXml = "../../log.xml";

            var simpleLayout = new SimpleLayout();
            var xmlLayout    = new XmlLayout();

            var       fileAppender    = new FileAppender(simpleLayout);
            IAppender fileAppenderXml = new FileAppender(xmlLayout);

            fileAppender.File    = pathTxt;
            fileAppenderXml.File = pathXml;

            Assert.AreEqual(pathTxt, fileAppender.File, "This is not same path for log.txt.");
            Assert.AreEqual(pathXml, fileAppenderXml.File, "This is not same path for log.xml.");
        }
示例#14
0
        public void Create(IAppender[] appenders, int numberOfAppenders)
        {
            for (int i = 0; i < numberOfAppenders; i++)
            {
                var input = Console.ReadLine().Split();

                ILayout layout = null;

                switch (input[1])
                {
                case nameof(SimpleLayout):
                    layout = new SimpleLayout();
                    break;

                case nameof(XmlLayout):
                    layout = new XmlLayout();
                    break;

                default:
                    throw new ArgumentException();
                }

                IAppender appender = null;

                switch (input[0])
                {
                case nameof(ConsoleAppender):
                    appender = new ConsoleAppender(layout);
                    break;

                case nameof(FileAppender):
                    appender = new FileAppender(layout);
                    ((FileAppender)appender).File = new LogFile();
                    break;
                }

                if (input.Length == 3)
                {
                    ReportLevel level = (ReportLevel)Enum.Parse(typeof(ReportLevel), input[2]);
                    appender.ReportLevel = level;
                }

                appenders[i] = appender;
            }
        }
示例#15
0
        public ILayout GetLayout(string type)
        {
            ILayout layout;

            if (type == "SimpleLayout")
            {
                layout = new SimpleLayout();
            }
            else if (type == "XmlLayout")
            {
                layout = new XmlLayout();
            }
            else
            {
                throw new InvalidOperationException("Invalid Type");
            }
            return layout;
        }
        public ILayout GetLayout(string type)
        {
            ILayout layout;

            if (type.ToLower() == "simplelayout")
            {
                layout = new SimpleLayout();
            }
            else if (type.ToLower() == "xmllayout")
            {
                layout = new XmlLayout();
            }
            else
            {
                throw new InvaliLayoutTypeException();
            }
            return(layout);
        }
        public ILayout ProduceLayout(string type)
        {
            ILayout layout;

            if (type == "SimpleLayout")
            {
                layout = new SimpleLayout();
            }
            else if (type == "XmlLayout")
            {
                layout = new XmlLayout();
            }
            else
            {
                throw new ArgumentException("Invalid layout type!");
            }
            return(layout);
        }
示例#18
0
        public ILayout GetLayout(string type)
        {
            ILayout layout;

            if (type == "SimpleLayout")
            {
                layout = new SimpleLayout();
            }
            else if (type == "XmlLayout")
            {
                layout = new XmlLayout();
            }
            else
            {
                throw new InvalidTypeExceptions();
            }
            return(layout);
        }
示例#19
0
        public ILayout GetLayout(string type)
        {
            ILayout layout;

            if (type.Equals("SimpleLayout"))
            {
                layout = new SimpleLayout();
            }
            else if (type.Equals("XmlLayout"))
            {
                layout = new XmlLayout();
            }
            else
            {
                throw new InvalidLayoutTypeException();
            }

            return(layout);
        }
示例#20
0
        public ILayout GetLayout(string type)
        {
            ILayout layout;

            if (type == nameof(SimpleLayout))
            {
                layout = new SimpleLayout();
            }
            else if (type == nameof(XmlLayout))
            {
                layout = new XmlLayout();
            }
            else
            {
                throw new ArgumentException("Invalid Layout type.");
            }

            return(layout);
        }
示例#21
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);
            }
        }
        /// <summary>
        /// Adds the file appender.
        /// </summary>
        private static void AddFileAppender()
        {
            FileAppender rfa = new FileAppender
            {
                Layout         = new XmlLayout(true),
                AppendToFile   = false,
                File           = string.Format("{0}{1}_{2}.log", Path.GetTempPath(), "SIGENCEScenarioTool.NUnit", DateTime.Now.ToString("yyyyMMdd_HHmmssfff")),
                ImmediateFlush = true,
#if DEBUG
                Threshold = Level.Debug
#else
                Threshold = Level.Info
#endif
            };

            rfa.ActivateOptions();

            BasicConfigurator.Configure(rfa);
        }
示例#23
0
        public void OnLayoutRebuilt(IXmlLayoutController xmlLayoutController)
        {
            OrthoSize = DesignerCamera.orthographicSize;
            //_MouseDrag = new MouseDrag (_Designer.GizmoCamera);
            Mod.Instance.ViewToolsUI = this;

            _controller         = xmlLayoutController;
            _XmlLayout          = (XmlLayout)_controller.XmlLayout;
            _ZoomPanel          = _XmlLayout.GetElementById("ZoomPanel");
            _ImageSelector      = _XmlLayout.GetElementById("ImageSelector");
            _ViewToolsPin       = _XmlLayout.GetElementById("ViewToolsPin");
            _ImageConfirmButton = _XmlLayout.GetElementById("ImageConfirmButton");
            _XmlLayout.GetElementById("FolderPathText").SetAndApplyAttribute("text", "Folder location : " + _Path);

            if (DesignerCamera.orthographic == true)
            {
                XmlElement OrthoToggle = _XmlLayout.GetElementById("OrthoToggle");
                OrthoToggle.SetAndApplyAttribute("isOn", "true");
                _ZoomPanel.SetActive(true);
                OrthoViewActive = true;
            }

            UpdateReferenceImages(Mod.Instance._ReferenceImages);

            _DesignerParts = Game.Instance.CachedDesignerParts;
            foreach (DesignerPart part in _DesignerParts.Parts)
            {
                if (part.PartTypes.First().Id == "Fuselage1")
                {
                    _Fuselage = part;
                }
            }

            foreach (PartData part in _Designer.CraftScript.Data.Assembly.Parts)
            {
                PartScript _part = (PartScript)part.PartScript;
                if (_part.name == "DesignerToolsRefPart")
                {
                    _Designer.SelectPart(_part, null, false);
                    _Designer.DeleteSelectedParts();
                }
            }
        }
        public void SelectExample(string name = null)
        {
            if (name == null)
            {
                CurrentExample = null;
                HideAllExamples();

                return;
            }

            var newExample = Examples.FirstOrDefault(e => e.name == name);

            if (newExample != null)
            {
                if (CurrentExample != null && newExample != CurrentExample)
                {
                    // Hide the current example, then call ShowExample(newExample) when the hide animation is complete
                    CurrentExample.Hide(() => ShowExample(newExample));
                }
                else
                {
                    ShowExample(newExample);
                }
            }
            else
            {
                // Special handling, this is a different scene
                switch (name)
                {
                case "Drag & Drop":
                    UnityEngine.SceneManagement.SceneManager.LoadSceneAsync("Drag & Drop Example");
                    break;

                case "Localization":
                    UnityEngine.SceneManagement.SceneManager.LoadSceneAsync("Localization Example");
                    break;

                case "World Space":
                    UnityEngine.SceneManagement.SceneManager.LoadSceneAsync("World Space Example");
                    break;
                }
            }
        }
示例#25
0
        public ILayout CreateLayout(string type)
        {
            ILayout layout = null;

            switch (type)
            {
            case nameof(SimpleLayout):
                layout = new SimpleLayout();
                break;

            case nameof(XmlLayout):
                layout = new XmlLayout();
                break;

            default:
                throw new ArgumentException("Invalid layout");
            }
            return(layout);
        }
示例#26
0
        static void Main(string[] args)
        {
            var layout          = new XmlLayout();
            var consoleAppender = new ConsoleAppender(layout);

            var file         = new LogFile();
            var fileAppender = new FileAppender(layout, file);

            var logger = new Logger(consoleAppender, fileAppender);

            ICommandInterpreter command = new LoggerInterpreter();

            command.Execute(logger, "Error", DateTime.Now, "Everything seems not nice");

            // logger.Error(DateTime.Now, "Error parsing JSON.");
            // logger.Info(DateTime.Now, "User Pesho successfully registered.");
            // logger.Warning(new DateTime(2015, 3, 31, 5, 33, 7), "Warning: ping is too high - disconnect imminent");
            // logger.Critical(new DateTime(2015, 3, 31, 5, 33, 8), "No connection string found in App.config");
            // logger.Fatal(new DateTime(2015, 3, 31, 5, 33, 9), "mscorlib.dll does not respond");
        }
示例#27
0
        private static ILayout GetLayout(string layoutTypeAsText)
        {
            ILayout layout;

            switch (layoutTypeAsText)
            {
            case "simplelayout":
                layout = new SimpleLayout();
                break;

            case "xmllayout":
                layout = new XmlLayout();
                break;

            default:
                throw new ArgumentException("Invalid layout!");
            }

            return(layout);
        }
        public ILayout GenerateLayout(string type)
        {
            ILayout layout = null;

            switch (type)
            {
            case "SimpleLayout":
                layout = new SimpleLayout();
                break;

            case "XmlLayout":
                layout = new XmlLayout();
                break;

            default:
                throw new ArgumentException("No such Layout");
            }

            return(layout);
        }
        public void XmlLayout_SkipEncodeValue_RenderXmlMessage()
        {
            // Arrange
            var xmlLayout = new XmlLayout()
            {
                Elements =
                {
                    new XmlElement("message", "${message}") { Encode = false }
                },
            };

            var logEventInfo = new LogEventInfo { Message = @"<hello planet=""earth""/>" };

            // Act
            var result = xmlLayout.Render(logEventInfo);

            // Assert
            const string expected = @"<logevent><message><hello planet=""earth""/></message></logevent>";
            Assert.Equal(expected, result);
        }
示例#30
0
        public ILayout CreateLayout(string type)
        {
            ILayout current = null;

            switch (type)
            {
            case nameof(SimpleLayout):
                current = new SimpleLayout();
                break;

            case nameof(XmlLayout):
                current = new XmlLayout();
                break;

            default:
                throw new ArgumentException("Unsupported Type");
            }

            return(current);
        }
        public ILayout GetLayout(string layoutType)
        {
            ILayout layout = null;

            switch (layoutType)
            {
            case "SimpleLayout":
                layout = new SimpleLayout();
                break;

            case "XmlLayout":
                layout = new XmlLayout();
                break;

            default:
                throw new InvalidOperationException("Invalid layout type!!!");
            }

            return(layout);
        }
示例#32
0
        private ILayout LayoutCreator(string type)
        {
            ILayout layout = null;

            switch (type)
            {
            case nameof(SimpleLayout):

                layout = new SimpleLayout();

                break;

            case nameof(XmlLayout):

                layout = new XmlLayout();

                break;
            }

            return(layout);
        }
        public ILayout CreateLayout(string type)
        {
            string typeToLower = type.ToLower();

            switch (typeToLower)
            {
            case "simplelayout":
            {
                ILayout simpleLayout = new SimpleLayout();
                return(simpleLayout);
            }

            case "xmllayout":
            {
                ILayout xmlLayout = new XmlLayout();
                return(xmlLayout);
            }

            default: throw new ArgumentException("Invalid layout type");
            }
        }
示例#34
0
        public static void Main()
        {
            try
            {
                var simpleLayout = new SimpleLayout();
                var xmlLayout = new XmlLayout();

                IAppender consoleAppender = new ConsoleAppender(simpleLayout);
                IAppender fileAppender = new FileAppender(simpleLayout);
                fileAppender.File = "../../log.txt";

                IAppender fileAppenderXml = new FileAppender(xmlLayout);
                fileAppenderXml.File = "../../log.xml";

                ILogger logger = new Logger(consoleAppender, fileAppender, fileAppenderXml);
                
                // add in logs
                logger.Error("Error parsing JSON.");
                logger.Info(string.Format("User {0} successfully registered.", "Pesho"));
                logger.Warn("Warn - missing files.");
                logger.Fatal("mscorlib.dll does not respond");
                logger.Critical("No connection string found in App.config");

                logger.Info("Everything seems fine");
                logger.Warn("Warning: ping is too high - disconnect imminent");
                logger.Error("Error parsing request");
                logger.Critical("No connection string found in App.config");
                logger.Fatal("mscorlib.dll does not respond");
            }
            catch (ArgumentException ex)
            {
                Console.WriteLine(ex.Message);
            }
            
            Console.WriteLine();
        }