| 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,
 
-     }
 
- }
 
 
  |