public static void SetupUdp()
        {
            var layout = new log4net.Layout.PatternLayout();
            //var appender = new TcpAppender(5140, IPAddress.Loopback) { Layout = layout};
            var appender = new UdpAppender {
                Layout = layout, RemoteAddress = IPAddress.Loopback, RemotePort = 5142
            };

            layout.ActivateOptions();
            appender.ActivateOptions();

            var layout2 = new log4net.Layout.PatternLayout();
            //var appender = new TcpAppender(5140, IPAddress.Loopback) { Layout = layout};
            var appender2 = new UdpAppender {
                Layout = layout2, RemoteAddress = IPAddress.Loopback, RemotePort = 5142
            };

            layout2.ActivateOptions();
            appender2.ActivateOptions();

            var layout3 = new log4net.Layout.PatternLayout();
            //var appender = new TcpAppender(5140, IPAddress.Loopback) { Layout = layout};
            var appender3 = new UdpAppender {
                Layout = layout3, RemoteAddress = IPAddress.Loopback, RemotePort = 5142
            };

            layout3.ActivateOptions();
            appender3.ActivateOptions();

            log4net.Config.BasicConfigurator.Configure(appender, appender2, appender3);
        }
Exemplo n.º 2
0
        public static void AddUdpAppender(int port)
        {
            var repositroy = (Hierarchy)log4net.LogManager.GetRepository();

            if (!repositroy.Configured)
            {
                return;
            }

            var root = repositroy.Root;

            if (null == root.GetAppender("UdpAppender"))
            {
                PatternLayout layout = new PatternLayout()
                {
                    ConversionPattern = @"[%logger]: %message %exception"
                };
                layout.ActivateOptions();

                UdpAppender udpAppender = new UdpAppender()
                {
                    Name          = "UdpAppender",
                    Layout        = layout,
                    RemoteAddress = IPAddress.Parse("224.0.0.1"),
                    RemotePort    = port,
                    Encoding      = Encoding.UTF8,
                };
                udpAppender.ActivateOptions();

                root.AddAppender(udpAppender);
                repositroy.Configured = true;
                repositroy.RaiseConfigurationChanged(EventArgs.Empty);
            }
        }
Exemplo n.º 3
0
        public void MainTest()
        {
            bool   gotdata  = false;
            string result   = null;
            var    appender = new UdpAppender("127.0.0.1", 7072)
            {
                AutoFlushSize = 1000
            };



            var task = Task.Run(() => {
                var data = udpclient.Receive(ref sender);
                var xml  = XElement.Parse(System.Text.Encoding.UTF8.GetString(data));
                Console.WriteLine(xml.ToString().Simplify(SimplifyOptions.SingleQuotes));
                result  = xml.ToString().Simplify(SimplifyOptions.Full);
                gotdata = true;
            });

            appender.Write(new LoggyMessage(LogLevel.Error, "test")
            {
                LoggerName = "mylogger"
            });
            Thread.Sleep(100);
            Assert.False(task.IsCompleted);
            Assert.False(gotdata);
            appender.Flush();
            Thread.Sleep(300);
            Assert.True(gotdata);
            Assert.True(task.IsCompleted);
            Assert.True(result.Contains("<message>test</message>"));
            Assert.True(result.Contains("logger='mylogger'"));
        }
Exemplo n.º 4
0
        public static void Start(LogTargets target) //server remote mode will be set auto when use SetRemote
        {
            type = target;
            List <IAppender> appenders = new List <IAppender>();

            if ((type & LogTargets.ServerRemote) != 0 && remoteIP != "")
            {
                UdpAppender appender = new UdpAppender();
                appender.Layout        = new PatternLayout(format);
                appender.RemoteAddress = IPAddress.Parse(remoteIP);
                appender.RemotePort    = remotePort;
                LevelRangeFilter filter = new LevelRangeFilter();
                filter.LevelMin = Level.Debug;
                filter.LevelMax = Level.Fatal;
                appender.AddFilter(filter);
                appender.ActivateOptions();
                appenders.Add(appender);
            }

            if ((type & LogTargets.ServerConsole) != 0)
            {
                ColoredConsoleAppender appender = new ColoredConsoleAppender();
                appender.Layout = new PatternLayout(format);
                ColoredConsoleAppender.LevelColors mapcolor = new ColoredConsoleAppender.LevelColors();
                mapcolor.Level     = Level.Fatal;
                mapcolor.BackColor = ColoredConsoleAppender.Colors.Red;
                appender.AddMapping(mapcolor);
                mapcolor           = new ColoredConsoleAppender.LevelColors();
                mapcolor.Level     = Level.Error;
                mapcolor.BackColor = ColoredConsoleAppender.Colors.Red;
                appender.AddMapping(mapcolor);
                mapcolor           = new ColoredConsoleAppender.LevelColors();
                mapcolor.Level     = Level.Warn;
                mapcolor.ForeColor = ColoredConsoleAppender.Colors.Purple;
                appender.AddMapping(mapcolor);
                mapcolor           = new ColoredConsoleAppender.LevelColors();
                mapcolor.Level     = Level.Info;
                mapcolor.ForeColor = ColoredConsoleAppender.Colors.Green;
                appender.AddMapping(mapcolor);
                appender.ActivateOptions();
                appenders.Add(appender);
            }

            if ((type & LogTargets.File) != 0)
            {
                FileAppender appender = new FileAppender();
                appender.Layout       = new PatternLayout(format);
                appender.File         = string.Format("Log/{0}-{1}-{2}.log", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
                appender.AppendToFile = true;
                appender.Name         = "FileAppender";
                appender.ActivateOptions();
                appenders.Add(appender);
            }

            BasicConfigurator.Configure(appenders.ToArray());
        }
Exemplo n.º 5
0
        private static UdpAppender CreateUdpAppender(string ip, int port)
        {
            var appender = new UdpAppender
            {
                RemotePort    = port,
                RemoteAddress = IPAddress.Parse(ip),
                Layout        = new XmlLayout(true)
            };

            appender.ActivateOptions();
            return(appender);
        }
Exemplo n.º 6
0
        public void SetUp()
        {
            XmlDocument xmlDoc      = new XmlDocument();
            XmlElement  log4NetNode = xmlDoc.CreateElement("log4net");

            IElementConfiguration configuration = Substitute.For <IElementConfiguration>();

            configuration.ConfigXml.Returns(xmlDoc);
            configuration.Log4NetNode.Returns(log4NetNode);

            mSut = new UdpAppender(configuration);
        }
Exemplo n.º 7
0
        private static UdpAppender udpAppender()
        {
            UdpAppender appender = new UdpAppender();

            appender.Encoding      = Encoding.UTF8;
            appender.RemoteAddress = IPAddress.Parse("127.0.0.1");
            appender.RemotePort    = 8888;
            appender.Layout        = patternLayout("[%5.level][%date{HH:mm:ss}][%3.line][%32.logger] - %message%exception");
            appender.ActivateOptions();

            return(appender);
        }
Exemplo n.º 8
0
        // UdpAppender : 로그를 UDP 프로토콜로 전송한다.
        public static IAppender GetUdpAppender(IPAddress ip, int port, string pattern = DefaultPattern)
        {
            var layout = new PatternLayout(pattern);

            layout.ActivateOptions();

            var appender = new UdpAppender
            {
                Layout        = layout,
                RemoteAddress = ip,
                RemotePort    = port
            };

            appender.ActivateOptions();

            return(appender);
        }
Exemplo n.º 9
0
        private static void StartLogSimulator()
        {
            var traceAppender = new TraceAppender {
                Layout = new PatternLayout()
            };

            var udpAppender = new UdpAppender
            {
                RemoteAddress = IPAddress.Loopback,
                RemotePort    = 8080,
                Name          = "UDPAppender",
                Encoding      = new ASCIIEncoding(),
                Threshold     = Level.Debug,
                Layout        = new XmlLayoutSchemaLog4j()
            };

            udpAppender.ActivateOptions();

            BasicConfigurator.Configure(traceAppender, udpAppender);

            var log = LogManager.GetLogger("Simulator");

            log4net.GlobalContext.Properties["ApplicationId"] = "log4stuff";

            var rand = new Random();

            SimulatorTimer = new Timer(state =>
            {
                var option = rand.Next(0, 3); //max is exclusive
                switch (option)
                {
                case 0:
                    log.Info("This is an info message");
                    break;

                case 1:
                    log.Debug("This is a really long message that will be truncated. It would never fit into a single row.");
                    break;

                default:
                    log.Debug("This is a debug message");
                    break;
                }
            }, null, TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1));
        }
Exemplo n.º 10
0
        private static void ConfigureWithCode()
        {
            var udpAppender = new UdpAppender
            {
                RemoteAddress = Dns.GetHostAddresses("log4stuff.com").First(),
                RemotePort    = 8080,
                Layout        = new XmlLayoutSchemaLog4j()
            };

            udpAppender.ActivateOptions();

            BasicConfigurator.Configure(udpAppender);

            var applicationId = Guid.NewGuid();

            log4net.GlobalContext.Properties["ApplicationId"] = applicationId;
            System.Diagnostics.Process.Start("http://log4stuff.com/app/" + applicationId);
        }
Exemplo n.º 11
0
        public static void AutoConfigureLogging(string applicationId, bool listenToTrace = true)
        {
            var udpAppender = new UdpAppender
            {
                RemoteAddress = Dns.GetHostAddresses("log4stuff.com").First(),
                RemotePort    = 8080,
                Layout        = new XmlLayoutSchemaLog4j()
            };

            udpAppender.ActivateOptions();
            BasicConfigurator.Configure(udpAppender);
            log4net.GlobalContext.Properties["ApplicationId"] = applicationId;

            if (listenToTrace)
            {
                Trace.Listeners.Add(new Log4NetTraceListener());
            }
        }
Exemplo n.º 12
0
        public static void Setup_textAnalytics()
        {
            log4net.Repository.ILoggerRepository textAnalytics_Repo = log4net.LogManager.CreateRepository("textAnalytics_Repo");

            PatternLayout patternLayout_TextAnalytics = new PatternLayout();

            patternLayout_TextAnalytics.ConversionPattern = "%date a: %property{IPAddress} b: %property{UserDomain} c: %property{AgentID} d: %message - e: %property{TextWindow} f: %property{Word} %newline";
            patternLayout_TextAnalytics.ActivateOptions();

            UdpAppender UdpAppenderTA = new UdpAppender();

            UdpAppenderTA.RemoteAddress = analyticsIPAddress;
            UdpAppenderTA.RemotePort    = Convert.ToInt32(SQLStorage.RetrievePar("textPort"));
            UdpAppenderTA.Threshold     = log4net.Core.Level.All;
            UdpAppenderTA.Layout        = patternLayout_TextAnalytics;
            UdpAppenderTA.ActivateOptions();

            log4net.Config.BasicConfigurator.Configure(textAnalytics_Repo, UdpAppenderTA);
        }
Exemplo n.º 13
0
        /// <summary>
        ///     Sets up Logging programmically for scenarios such as unit tests. It logs
        ///     to the trace output, and also to a local UDP port to watch with a tool
        ///     such as Log2Console (http://log2console.codeplex.com/)
        /// </summary>
        public static void InitLocalLogging()
        {
            var traceAppender = new TraceAppender {
                Layout = new PatternLayout()
            };

            var udpAppender = new UdpAppender
            {
                RemoteAddress = IPAddress.Loopback,
                RemotePort    = 8080,
                Name          = "UDPAppender",
                Encoding      = new ASCIIEncoding(),
                Threshold     = Level.Debug,
                Layout        = new XmlLayoutSchemaLog4j()
            };

            udpAppender.ActivateOptions();

            BasicConfigurator.Configure(traceAppender, udpAppender);

            Log.Info("UDP & Trace Logging Enabled");
        }
Exemplo n.º 14
0
        /// <summary>
        /// <param name="RemoteAddress" value="127.0.0.1" />
		//<param name = "RemotePort" value="8080" />
		//<layout type = "log4net.Layout.XmlLayout" >

  //          < param name="Prefix" value="" />
		//</layout>
        /// </summary>
        public static void AppendToConfiguration()
        {
            //First create and configure the appender  
            var appender = new UdpAppender();
            appender.Name = "UdpAppender";
            var layout = new XmlLayout();
            layout.Prefix = "";
            appender.Layout = layout;
            appender.RemotePort = 8080;
            appender.RemoteAddress = "127.0.0.1";

            //Notify the appender on the configuration changes  
            appender.ActivateOptions();

            //Get the logger repository hierarchy.  
            var repository = LogManager.GetRepository() as Hierarchy;

            if (repository == null)
                return;

            //and add the appender to the root level  
            //of the logging hierarchy  
            repository.Root.AddAppender(appender);

            //mark repository as configured and  
            //notify that is has changed.  
            repository.Configured = true;
            repository.RaiseConfigurationChanged(EventArgs.Empty);
        }