3.3.5 World of warcraft combat log parser
WoW 3.3.5 log parser code.
For Developers: Uses DI via Autofac or Service builder.
Example to parse:
using Autofac;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using PandarosWoWLogParser;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Diagnostics;
using System.Text;
namespace PandarosWoWLogParser.Tests
{
[TestClass()]
public class PandarosParserTests
{
[TestMethod()]
public void PandarosParserSetupTest()
{
var builder = new ContainerBuilder();
var logger = new PandaLogger("C:/temp/");
builder.PandarosParserSetup(logger, logger);
var Container = builder.Build();
var clp = Container.Resolve<CombatLogParser>();
logger.Log("Starting Parse.");
Stopwatch sw = new Stopwatch();
sw.Start();
clp.ParseToEnd("C:/Program Files/Ascension Launcher/resources/client/Logs/WoWCombatLog.log");
sw.Stop();
logger.Log($"Parsed in {sw.Elapsed}.");
}
}
}
Stats output to log file.
Combine log files in a directory. Outputs to the directory in a .log file.
When combining log files you can put the timezone of the log file in [] brackets in the file name to have the correct localization when cobining. Ex: WoWCombatLog[Eastern Standard Time].txt or WoWCombatLog[Mountain Standard Time].txt
Example to combine log files:
using Autofac;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using PandarosWoWLogParser;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Diagnostics;
using System.Text;
using System.Threading;
namespace PandarosWoWLogParser.Tests
{
[TestClass()]
public class PandarosLogCombinerTests
{
[TestMethod()]
public void PandarosCombinerSetupTest()
{
var builder = new ContainerBuilder();
var logger = new PandaLogger("C:/temp/");
builder.PandarosParserSetup(logger, logger);
var Container = builder.Build();
var clp = Container.Resolve<CombatLogCombiner>();
logger.Log("Starting Parse.");
Stopwatch sw = new Stopwatch();
sw.Start();
clp.ParseToEnd(@"C:\Program Files\Ascension Launcher\resources\client\Logs\1025\");
sw.Stop();
logger.Log($"Parsed in {sw.Elapsed}.");
Thread.Sleep(1000);
}
}
}