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())); } }
public void Log(LogSettings.LogLevel logLevel, string message) { if (Settings.GlobalLevel <= logLevel) { Queue.Enqueue(new LogMessage(FormatLineForLog(message), LogType.System, null)); } }
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); } }