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); }
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); } }
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'")); }
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()); }
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); }
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); }
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); }
// 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); }
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)); }
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); }
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()); } }
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); }
/// <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"); }
/// <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); }