Example #1
0
        public async Task Log(WorkflowLogLevel level, string message, Guid instanceId)
        {
            if (message.Length > 4000)
            {
                message = $"{message.Substring(0, 1900)} ... {message.Length - 1900} characters cut due to excessive length.";
            }

            Console.WriteLine($"{level}:: {message}");

            try
            {
                if (con != null)
                {
                    await con.InvokeAsync("ConsoleSend", level.ToString().ToLower(), message, instanceId.ToString());
                }
            }
            catch (Exception ex)
            {
                await con.DisposeAsync();

                con = null;
                await Log(WorkflowLogLevel.Error, ex.Message, instanceId);
                await Log(level, message, instanceId);
            }

            Console.ForegroundColor = ConsoleColor.White;
        }
Example #2
0
 public async Task Log(WorkflowLogLevel level, string message)
 {
     try
     {
         await OnLog?.Invoke(level, message);
     }
     catch (Exception ex)
     {
         OnLog = null;
         Context.Log(WorkflowLogLevel.Warning, "Realtime processing has failed:\n" + ex.Message + "\nLog streaming has been disabled.");
     }
 }