Example #1
0
        private static void Warning(UnhandledException ex, Current current)
        {
            Debug.Assert(current.Adapter.Communicator != null);

            var output = new System.Text.StringBuilder();

            output.Append("dispatch exception:");
            output.Append("\nidentity: ").Append(current.Identity.ToString(current.Adapter.Communicator.ToStringMode));
            output.Append("\nfacet: ").Append(StringUtil.EscapeString(current.Facet, "",
                                                                      current.Adapter.Communicator.ToStringMode));
            output.Append("\noperation: ").Append(current.Operation);
            if (current.Connection != null)
            {
                try
                {
                    for (ConnectionInfo?p = current.Connection.GetConnectionInfo(); p != null; p = p.Underlying)
                    {
                        if (p is IPConnectionInfo ipinfo)
                        {
                            output.Append("\nremote host: ").Append(ipinfo.RemoteAddress)
                            .Append(" remote port: ")
                            .Append(ipinfo.RemotePort);
                            break;
                        }
                    }
                }
                catch (Exception)
                {
                }
            }
            output.Append("\n");
            output.Append(ex.ToString());
            current.Adapter.Communicator.Logger.Warning(output.ToString());
        }
Example #2
0
        private static void Warning(UnhandledException ex, Current current)
        {
            Debug.Assert(current.Adapter.Communicator != null);

            var output = new System.Text.StringBuilder();

            output.Append("dispatch exception:");
            output.Append("\nidentity: ").Append(current.Identity.ToString(current.Communicator.ToStringMode));
            output.Append("\nfacet: ").Append(
                StringUtil.EscapeString(current.Facet, current.Communicator.ToStringMode));
            output.Append("\noperation: ").Append(current.Operation);

            if ((current.Connection as IPConnection)?.RemoteEndpoint is System.Net.IPEndPoint remoteEndpoint)
            {
                output.Append("\nremote address: ").Append(remoteEndpoint);
            }
            output.Append('\n');
            output.Append(ex.ToString());
            current.Adapter.Communicator.Logger.Warning(output.ToString());
        }