Ejemplo n.º 1
0
 public void Log(IZone zone, LogSettings.LogLevel logLevel, string message)
 {
     if (Settings.ZoneLevel(zone.Id) <= logLevel)
     {
         Queue.Enqueue(new LogMessage(FormatLineForLog(message), LogType.Zone, zone.Id.ToString()));
     }
 }
Ejemplo n.º 2
0
 public void Log(LogSettings.LogLevel logLevel, string message)
 {
     if (Settings.GlobalLevel <= logLevel)
     {
         Queue.Enqueue(new LogMessage(FormatLineForLog(message), LogType.System, null));
     }
 }
Ejemplo n.º 3
0
        public void Log(IMobileObject performer, LogSettings.LogLevel logLevel, string message)
        {
            if (performer != null)
            {
                if (performer is INonPlayerCharacter npc)
                {
                    if (Settings.ZoneLevel(npc.Zone) <= logLevel)
                    {
                        Queue.Enqueue(new LogMessage(FormatLineForLog(message), LogType.NonPlayerCharacter, string.Format("{0}-{1}", npc.Zone, npc.Id)));
                    }
                }
                else
                {
                    if (performer is IPlayerCharacter pc)
                    {
                        if (Settings.PlayerLevel(pc.Name) <= logLevel)
                        {
                            Queue.Enqueue(new LogMessage(FormatLineForLog(message), LogType.PlayerCharacter, pc.Name));
                        }
                    }
                }

                //room will be null if the player is logging out
                if (performer.Room != null)
                {
                    if (GlobalReference.GlobalValues.World.Zones.TryGetValue(performer.Room.Zone, out IZone zone))
                    {
                        Log(zone, logLevel, message);
                    }
                }
            }
            else
            {
                Log(logLevel, message);
            }
        }