Logging Test Output of SpecFLow to a CSV file using SeriLog

Viewed 829

I have multiple SpecFlow feature File(s) and I want to log the Test Name Test Outcome for my tests. I want to write it in a csv file and I am using Serilog for logging purposes.

public class LoggerFactory : ILoggerFactory
    {
        Func<string> headerFactory = () => "date time;logtype;environment;ShipTracker build version;test case description;status";
        public Serilog.Core.Logger Create()
        {
            var logger = new LoggerConfiguration()
                .WriteTo.File(new CustomCsvLogging(), $"C:\\Dev\\Logs\\shiptracker-ui-{DateTime.Now}log.csv", hooks: new HeaderWriter(headerFactory))
                //.ReadFrom.AppSettings()
                .CreateLogger();
            return logger;
        }
    }

I would like to log into the file in the format mentioned below

date time        | logtype |environment| app build version | test case Name| status
----------------------------------------------------------
02-04-2020 4:30 | Test Reults|Mt|2.0.150| Loading Views| Success
02-04-2020 4:31 | Test Reults|Mt|2.0.150| Create new voyage| Failed

I have the Environment, App Build Version in my Config file I want to know how to get the output from The TestRunner and log it. I am even okay to implement any custom logger but need help. I have to create a new entry into the csv file for every Test case executed enter image description here

0 Answers
Related