public void AppenderPropertiesSetConfigurationValues() { var config = new Config(); var appender = new LogglyAppender(config, Mock.Of <ILogglyFormatter>(), Mock.Of <ILogglyAsyncBuffer>()); appender.RootUrl = "root-url"; appender.BufferSize = 123; appender.CustomerToken = "test-token"; appender.GlobalContextKeys = "global-keys"; appender.LogicalThreadContextKeys = "thread-keys"; appender.NumberOfInnerExceptions = 123; appender.Tag = "test-tag"; appender.SendInterval = TimeSpan.FromSeconds(123); appender.TimeoutInSeconds = 123; appender.UserAgent = "user-agent"; config.Should().BeEquivalentTo(new { RootUrl = "root-url", BufferSize = 123, CustomerToken = "test-token", GlobalContextKeys = "global-keys", LogicalThreadContextKeys = "thread-keys", NumberOfInnerExceptions = 123, Tag = "test-tag", SendInterval = TimeSpan.FromSeconds(123), TimeoutInSeconds = 123, UserAgent = "user-agent" }); }
public void Flush_FlushesBuffer() { var bufferMock = new Mock <ILogglyAsyncBuffer>(); bufferMock.Setup(x => x.Flush(It.IsAny <TimeSpan>())).Returns(true); var appender = new LogglyAppender(new Config(), Mock.Of <ILogglyFormatter>(), bufferMock.Object); var result = appender.Flush(100); result.Should().BeTrue("flush should be successful"); bufferMock.Verify(x => x.Flush(TimeSpan.FromMilliseconds(100))); }
private LogglyAppender GetLogglyAppender() { if (this.LogglySettings == null) { return(null); } var logglyAppender = new LogglyAppender { RootUrl = "https://logs-01.loggly.com/", CustomerToken = this.LogglySettings.LogglyCustomerToken, Tag = this.LogglySettings.LogglyTag }; logglyAppender.ActivateOptions(); return(logglyAppender); }
public void Append_BuffersMessageToBeSent() { var formatterMock = new Mock <ILogglyFormatter>(); formatterMock.Setup(x => x.ToJson(It.IsAny <LoggingEvent>(), It.IsAny <string>())) .Returns <LoggingEvent, string>((e, m) => $"Formatted: {e.RenderedMessage}"); var bufferMock = new Mock <ILogglyAsyncBuffer>(); var appender = new LogglyAppender(new Config(), formatterMock.Object, bufferMock.Object); var evt = new LoggingEvent(new LoggingEventData { Message = "test log" }); appender.DoAppend(evt); bufferMock.Verify(x => x.BufferForSend("Formatted: test log"), "message wasn't enqueued to be sent"); }
protected IntegrationTest() { // setup HTTP client mock so that we can wait for sent message and inspect it _messageSent = new ManualResetEvent(false); _messageStream = new MemoryStream(); var webRequestMock = new Mock <WebRequest>(); webRequestMock.Setup(x => x.GetRequestStream()).Returns(_messageStream); webRequestMock.Setup(x => x.GetResponse()) .Returns(() => { _messageSent.Set(); return(Mock.Of <WebResponse>()); }); // use mocked web request LogglyClient.WebRequestFactory = (config, url) => webRequestMock.Object; var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly()); var currentFileName = Path.GetFileName(Assembly.GetExecutingAssembly().Location); log4net.Config.XmlConfigurator.Configure(logRepository, new FileInfo(currentFileName + ".config")); _log = LogManager.GetLogger(GetType()); var appenders = logRepository.GetAppenders(); _logglyAppender = (LogglyAppender)appenders[0]; ThreadContext.Properties.Clear(); LogicalThreadContext.Properties.Clear(); GlobalContext.Properties.Clear(); // thread name can be set just once so we need this safeguard if (string.IsNullOrEmpty(Thread.CurrentThread.Name)) { Thread.CurrentThread.Name = TestThreadName; } }
/// <summary> /// Simple partial method for updating the Loggly Appender settings such as the inputKey. /// This method is to be defined in the partial App class in App.xaml.secret.cs /// </summary> partial void UpdateLogglyAppenderSettings(LogglyAppender loggly);