using System.Text.RegularExpressions;
public static void Main()
var msg = "[2021-02-04T20:03:56.022Z] INFO (twilio-video): 2021-02-04T20:03:56.022Z info [connect #1] Getting LocalTracks [2021-02-04T20:03:56.022Z] INFO (twilio-video): 2021-02-04T20:03:56.022Z info [createLocalTracks #1] Adding user-provided LocalTracks [2021-02-04T20:12:21.414Z] WARN (twilio-video): 2021-02-04T20:12:21.414Z warn [TwilioConnection #3: wss://global.vss.twilio.com/signaling] Unexpected state \"closed\" for handling a \"heartbeat\" message from the TCMP server. at http://localhost:5757/Company/1082/Meeting/MeetingDetail/3498:5543:17 at Log.log (http://media.twiliocdn.com/sdk/js/video/releases/2.11.0/twilio-video.min.js:52:6253) at Log.warn (http://media.twiliocdn.com/sdk/js/video/releases/2.11.0/twilio-video.min.js:52:6834) and 2 more";
var date = msg.Substring(1,24);
var logLevel = msg.Split(new string[] {"(twilio-video)"}, StringSplitOptions.None)[0].TrimEnd().Split(' ')[1];
var message = msg.Split(new string[] {"(twilio-video)"}, StringSplitOptions.None)[1];
message = message.Substring(message.IndexOf('['));
Console.WriteLine("date: " + date);
Console.WriteLine("log level: " + logLevel);
Console.WriteLine("message: " + message);
string[] regex = Regex.Split(msg.Trim(), @"\[\d+-\d+-\w+:\d+:\d+.\w+\] \w+ \(twilio-video\): ");
Console.WriteLine("regex: " + regex[3]);
var dateTime = DateTime.Parse(date);
Console.WriteLine("datetime: " + dateTime);