private void addRawLineHandlers() { ircClient.MessageReceived += (sender, message) => { var rawEvent = new RawContentEvent() { ClientName = ClientName, ProviderName = ProviderName, RawContent = message.Raw }; context.PublishChatEvent(rawEvent); return(Task.CompletedTask); }; ircClient.MessageSending += (sender, message) => { var rawEvent = new RawContentEvent() { ClientName = ClientName, ProviderName = ProviderName, RawContent = message.Raw, IsSelf = true }; context.PublishChatEvent(rawEvent); return(Task.CompletedTask); }; }
public static void LogMessage(string message) { dateTime = DateTime.UtcNow; RawContentEvent converted = JsonConvert.DeserializeObject <RawContentEvent>(message); FilePath = LogLocation + converted.ClientName + dateTime.Date.ToString("yyyy'-'MM'-'dd") + ".log"; CreateLogPath(); File.AppendAllText(FilePath, dateTime.ToString("o") + " " + converted.RawContent + Environment.NewLine); }
public async Task TestLogReadWrite() { var runner = NewServiceRunner(); await runner.SetUpAsync(getOptions()); await Task.Delay(500); if (File.Exists("logs/test" + DateTime.UtcNow.Date.ToString("yyyy'-'MM'-'dd") + ".log")) { File.Delete("logs/test" + DateTime.UtcNow.Date.ToString("yyyy'-'MM'-'dd") + ".log"); } var dummyPubSub = (DummyPubSubClient)runner.Runner.Context.PubSubClient; RawContentEvent contentEvent = new RawContentEvent() { Topic = ChatTopics.Raw, ClientName = "test", ProviderName = "test", IsSelf = false, Meta = Meta, RawContent = @"@badges=staff/1,bits/1000;bits=100;color=;display-name=dallas;emotes=;id=b34ccfc7-4977-403a-8a94-33c6bac34fb8;mod=0;room-id=1337;subscriber=0;tmi-sent-ts=1507246572675;turbo=1;user-id=1337;user-type=staff :[email protected] PRIVMSG #dallas :cheer100" }; var jsonMessage = JsonConvert.SerializeObject(contentEvent); dummyPubSub.Publish(ChatTopics.Raw, jsonMessage); string written1 = LogManager.dateTime.ToString("o") + " " + @"@badges=staff/1,bits/1000;bits=100;color=;display-name=dallas;emotes=;id=b34ccfc7-4977-403a-8a94-33c6bac34fb8;mod=0;room-id=1337;subscriber=0;tmi-sent-ts=1507246572675;turbo=1;user-id=1337;user-type=staff :[email protected] PRIVMSG #dallas :cheer100"; await Task.Delay(500); dummyPubSub.Publish(ChatTopics.Raw, jsonMessage); string written2 = LogManager.dateTime.ToString("o") + " " + @"@badges=staff/1,bits/1000;bits=100;color=;display-name=dallas;emotes=;id=b34ccfc7-4977-403a-8a94-33c6bac34fb8;mod=0;room-id=1337;subscriber=0;tmi-sent-ts=1507246572675;turbo=1;user-id=1337;user-type=staff :[email protected] PRIVMSG #dallas :cheer100"; await Task.Delay(500); List <string> lines = (File.ReadLines(LogManager.FilePath)).ToList(); Assert.Equal(written1, lines[0]); Assert.Equal(written2, lines[1]); await runner.TearDownAsync(); }