📄 loghelper.cs
字号:
namespace Imps.Client.Core
{
using Imps.Client.Base;
using Imps.Client.Utils;
using System;
using System.Text;
internal static class LogHelper
{
public static void BuildLogTextForException(StringBuilder builder, Exception ex)
{
builder.Append(ex.ToString());
}
public static void BuildLogTextForImpsError(StringBuilder builder, ImpsErrorEventArgs e)
{
builder.Append("Summary:");
builder.Append(e.Summary);
if (!string.IsNullOrEmpty(e.Description))
{
builder.Append("Description:");
builder.Append(e.Description);
}
if (e.ErrorException != null)
{
builder.Append("ErrorException:");
builder.Append(e.ErrorException);
}
}
public static void BuildLogTextForReceived(StringBuilder builder, SipMessageBase sipMsg)
{
builder.Append("SipMessage Received:\r\n");
InnerBuildLogTextForSipMessage(builder, sipMsg);
}
public static void BuildLogTextForSent(StringBuilder builder, SipMessageBase sipMsg)
{
builder.Append("SipMessage to Send:\r\n");
InnerBuildLogTextForSipMessage(builder, sipMsg);
}
private static void InnerBuildLogTextForSipMessage(StringBuilder builder, SipMessageBase sipMsg)
{
builder.Append(sipMsg.Message.ToString());
if (sipMsg.Parent != null)
{
builder.Append("\r\n\r\nParent:\r\n");
InnerBuildLogTextForSipMessage(builder, sipMsg.Parent);
}
}
public static void LogError(string text)
{
ClientLogger.WriteGeneral(text, string.Empty, 20);
}
public static void LogException(Exception ex)
{
ClientLogger.WriteGeneral("Exception", ex.ToString(), 20);
}
public static void LogException(Exception ex, int level)
{
ClientLogger.WriteGeneral("Exception", ex.ToString(), level);
}
public static void LogFatalError(string text)
{
ClientLogger.WriteGeneral(text, string.Empty, 30);
}
public static void LogImpsError(ImpsErrorEventArgs e)
{
StringBuilder builder = new StringBuilder();
BuildLogTextForImpsError(builder, e);
ClientLogger.WriteGeneral("ImpsError", builder.ToString(), 20);
}
public static void LogInfo(string text)
{
ClientLogger.WriteGeneral(text, string.Empty, 0);
}
public static void LogLine(string text, int level)
{
ClientLogger.WriteGeneral(text, string.Empty, level);
}
public static void LogReceivedSipMessage(SipMessageBase sipMsg)
{
LogReceivedSipMessage(sipMsg, 10);
}
public static void LogReceivedSipMessage(SipMessageBase sipMsg, int level)
{
StringBuilder builder = new StringBuilder();
builder.AppendLine(string.Format("Received {0}:", sipMsg.GetType().Name));
BuildLogTextForReceived(builder, sipMsg);
ClientLogger.WriteGeneral("接收到 SipMessage", builder.ToString(), level);
}
public static void LogSendSipMessageFailed(SipMessageBase sipMsg, string explain, Exception ex)
{
LogSendSipMessageFailed(sipMsg, explain, ex, 10);
}
public static void LogSendSipMessageFailed(SipMessageBase sipMsg, string explain, Exception ex, int level)
{
StringBuilder builder = new StringBuilder();
BuildLogTextForSent(builder, sipMsg);
builder.AppendLine();
builder.AppendLine();
if ((explain != null) && (explain.Length > 0))
{
builder.AppendLine("Failed Explain:");
builder.AppendLine(explain);
builder.AppendLine();
}
if (ex != null)
{
builder.AppendLine("Failed Exception:");
BuildLogTextForException(builder, ex);
}
ClientLogger.WriteGeneral("发送 SipMessage 失败", builder.ToString(), level);
}
public static void LogWaitSipAckTimeout(SipInviteResponse sipInviteResp)
{
LogWaitSipAckTimeout(sipInviteResp, 20);
}
public static void LogWaitSipAckTimeout(SipInviteResponse sipInviteResp, int level)
{
StringBuilder builder = new StringBuilder();
BuildLogTextForSent(builder, sipInviteResp);
ClientLogger.WriteGeneral("等待 SipInviteResponse 超时", builder.ToString(), level);
}
public static void LogWaitSipResponseTimeout(SipRequest sipReq)
{
LogWaitSipResponseTimeout(sipReq, 10);
}
public static void LogWaitSipResponseTimeout(SipRequest sipReq, int level)
{
StringBuilder builder = new StringBuilder();
BuildLogTextForSent(builder, sipReq);
ClientLogger.WriteGeneral("等待 SipResponse 超时", builder.ToString(), level);
}
public static void LogWarning(string text)
{
ClientLogger.WriteGeneral(text, string.Empty, 10);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -