public override void BattleStart() { base.BattleStart(); var battleLogName = Path.Combine(LogProvider.LogPath, "BattleLog", $"battle-{DateTime.Now:yyyyMMddHHmmss}.log"); Logger.Information($"BattleLog: {battleLogName}"); _battleLogger = new LoggerConfiguration() .Filter.ByExcluding(e => { if (!e.Properties.ContainsKey("SourceContext")) { return(true); } var ctx = ((Serilog.Events.ScalarValue)e.Properties["SourceContext"]).Value as string; if (string.IsNullOrWhiteSpace(ctx)) { return(true); } return(!(ctx.StartsWith("Robi.Clash.DefaultSelectors") || ctx.StartsWith("Robi.Engine.PerformanceTimer"))); }).WriteTo.File(battleLogName).CreateLogger(); LogProvider.AttachSink(_battleLogger); }
public override void BattleStart() { base.BattleStart(); var battleLogName = Path.Combine(LogProvider.LogPath, "BattleLog", $"battle-{DateTime.Now:yyyyMMddHHmmss}.log"); Logger.Debug($"BattleLog: {battleLogName}"); _battleLogger = new LoggerConfiguration() .Filter.ByExcluding(e => { if (!e.Properties.ContainsKey("SourceContext")) { return(true); } var ctx = ((Serilog.Events.ScalarValue)e.Properties["SourceContext"]).Value as string; if (string.IsNullOrWhiteSpace(ctx)) { return(true); } return(!(ctx.StartsWith("Robi.Clash.DefaultSelectors") || ctx.StartsWith("Robi.Engine.PerformanceTimer"))); }).WriteTo.File(battleLogName, outputTemplate: "{Message}{NewLine}{Exception}").CreateLogger(); LogProvider.AttachSink(_battleLogger); GameBeginning = true; ownKingsTowerPos.X = -1; ownKingsTowerPos.Y = -1; friendlyOwnerIndex = -1; battleLogs.Clear(); prevHandCards.Clear(); nextGId = 0; statNumSuccessfulEntrances = 0; statTimeOutsideRoutine = TimeSpan.Zero; statTimeInitPlayfield = TimeSpan.Zero; statSumTimeOutsideRoutine = TimeSpan.Zero; statSumTimeInitPlayfield = TimeSpan.Zero; statSumTimeInsideBehavior = TimeSpan.Zero; statTimerRoutine = DateTime.Now; }