1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- using Fort23.UTool;
- namespace System.Net.Sockets.Kcp
- {
- public partial class KcpCore<Segment>
- {
- public KcpLogMask LogMask { get; set; } = KcpLogMask.IKCP_LOG_PARSE_DATA | KcpLogMask.IKCP_LOG_NEED_SEND |
- KcpLogMask.IKCP_LOG_DEAD_LINK;
- public virtual bool CanLog(KcpLogMask mask)
- {
- // return true;
- if ((mask & LogMask) == 0)
- {
- return false;
- }
- #if NETSTANDARD2_0_OR_GREATER || NET5_0_OR_GREATER
- if (TraceListener != null)
- {
- return true;
- }
- #endif
- return false;
- }
- #if NETSTANDARD2_0_OR_GREATER || NET5_0_OR_GREATER
- public System.Diagnostics.TraceListener TraceListener { get; set; }
- #endif
- public virtual void LogFail(string message)
- {
- LogTool.Log(message);
- #if NETSTANDARD2_0_OR_GREATER || NET5_0_OR_GREATER
- TraceListener?.Fail(message);
- #endif
- }
- public virtual void LogWriteLine(string message, string category)
- {
- LogTool.Error(message);
- #if NETSTANDARD2_0_OR_GREATER || NET5_0_OR_GREATER
- TraceListener?.WriteLine(message, category);
- #endif
- }
- [Obsolete("一定要先判断CanLog 内部判断是否存在TraceListener,避免在没有TraceListener时生成字符串", true)]
- public virtual void LogWriteLine(string message, KcpLogMask mask)
- {
- LogTool.Error(message);
- #if NETSTANDARD2_0_OR_GREATER || NET5_0_OR_GREATER
- if (CanLog(mask))
- {
- LogWriteLine(message, mask.ToString());
- }
- #endif
- }
- }
- [Flags]
- public enum KcpLogMask
- {
- IKCP_LOG_OUTPUT = 1 << 0,
- IKCP_LOG_INPUT = 1 << 1,
- IKCP_LOG_SEND = 1 << 2,
- IKCP_LOG_RECV = 1 << 3,
- IKCP_LOG_IN_DATA = 1 << 4,
- IKCP_LOG_IN_ACK = 1 << 5,
- IKCP_LOG_IN_PROBE = 1 << 6,
- IKCP_LOG_IN_WINS = 1 << 7,
- IKCP_LOG_OUT_DATA = 1 << 8,
- IKCP_LOG_OUT_ACK = 1 << 9,
- IKCP_LOG_OUT_PROBE = 1 << 10,
- IKCP_LOG_OUT_WINS = 1 << 11,
- IKCP_LOG_PARSE_DATA = 1 << 12,
- IKCP_LOG_NEED_SEND = 1 << 13,
- IKCP_LOG_DEAD_LINK = 1 << 14,
- }
- }
|