예제 #1
0
 private void CacheLog(ServerLogEventArgs e)
 {
     if (Options.CacheLogLength > 0)
     {
         LogRecord record = new LogRecord();
         record.Type    = e.Type.ToString();
         record.Message = e.Message;
         record.Time    = DateTime.Now.ToString("H:mm:ss");
         System.Threading.Interlocked.Increment(ref mCacheLogLength);
         if (mCacheLogLength > Options.CacheLogLength)
         {
             mCacheLogQueue.TryDequeue(out LogRecord log);
             System.Threading.Interlocked.Decrement(ref mCacheLogLength);
         }
         mCacheLogQueue.Enqueue(record);
     }
 }
예제 #2
0
 public override void Log(IServer server, ServerLogEventArgs e)
 {
     if (ServerLog == null)
     {
         if (ServerConfig.LogToConsole)
         {
             base.Log(server, e);
         }
         if (ServerConfig.WriteLog)
         {
             mFileLog.Add(e);
         }
     }
     else
     {
         ServerLog(server, e);
     }
 }
예제 #3
0
 public override void Log(IServer server, ServerLogEventArgs e)
 {
     if (Logger == null)
     {
         if (RPCOptions.LogToConsole)
         {
             base.Log(server, e);
         }
         if (RPCOptions.LogToFile)
         {
             mFileLog.Add(e.Type, e.Message);
         }
     }
     else
     {
         Logger(server, e);
     }
 }
예제 #4
0
        public override void Log(IServer server, ServerLogEventArgs e)
        {
            var httpLog = e as HttpServerLogEventArgs;

            CacheLog(e);
            ServerLog?.Invoke(server, e);
            if (Options.LogToConsole && (httpLog == null || httpLog.OutputConsole))
            {
                base.Log(server, e);
            }
            if (Options.WriteLog && (httpLog == null || httpLog.OutputFile))
            {
                mFileLog.Add(e.Type, e.Message);
            }
            ISession output = LogOutput;

            if (output != null && e.Session != output)
            {
                ActionResult log = new ActionResult();
                log.Data = new { LogType = e.Type.ToString(), Time = DateTime.Now.ToString("H:mm:ss"), Message = e.Message };
                CreateDataFrame(log).Send(output);
            }
        }
예제 #5
0
 public override void Log(IServer server, ServerLogEventArgs e)
 {
     base.Log(server, e);
 }
예제 #6
0
 public void Log(IServer server, ServerLogEventArgs e)
 {
     Loger.Process(LogType.INFO, "server {0} log {1}", server.Name, e.Message);
 }
예제 #7
0
 void IServerHandler.Log(IServer server, ServerLogEventArgs e)
 {
     this.Loger.Process(LogType.INFO, e.Message);
 }
예제 #8
0
 public virtual void Log(IServer server, ServerLogEventArgs e)
 {
     OnLogToConsole(server, e);
 }
예제 #9
0
 public virtual void Log(IServer server, ServerLogEventArgs e)
 {
     Console.WriteLine("[{0}:{2}] {1}", e.Type, e.Message, DateTime.Now);
 }
예제 #10
0
 protected override void OnLogToConsole(IServer server, ServerLogEventArgs e)
 {
     Console.WriteLine("OnLogToConsole");
 }
예제 #11
0
 public override void Log(IServer server, ServerLogEventArgs e)
 {
     Console.WriteLine("Log");
 }
예제 #12
0
 public void Add(ServerLogEventArgs e)
 {
     mDispatcher.Enqueue(e);
 }
예제 #13
0
 /// <summary>
 /// Tcp loglarını yazar
 /// </summary>
 /// <param name="server"></param>
 /// <param name="e"></param>
 public override void Log(IServer server, ServerLogEventArgs e)
 {
     Console.WriteLine("Tcp Log :" + e.Message);
 }