Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wisp
GitHub Repository: wisp/impinj-reader-app
Path: blob/master/AttenuatorTest/AttenLogger.cs
179 views
using System;
using System.Collections.Generic;
using System.Text;

using ReaderLibrary;
using Logging;

namespace AttenuatorTest
{
    public class AttenLogger : Logger
    {


        public AttenLogger(string logFileName)
            : base(logFileName)
        {

        }

        public override void SetupAvailableOptions()
        {
            options.Add(new LoggingOption("Date", true));
            options.Add(new LoggingOption("Time", true));
            options.Add(new LoggingOption("Attenuation", true));
            options.Add(new LoggingOption("TagRate", true));
            options.Add(new LoggingOption("RunTime", false));
            options.Add(new LoggingOption("SettleTime", false));
        }


        public override string BuildStringToLog(Object thingToLog)
        {

            if (!(thingToLog is AttenStepInfo))
                throw new Exception("AttenStepInfo required");

            AttenStepInfo t = (AttenStepInfo)thingToLog;

            string toWrite = "";

            if (IsOptionEnabled("Time"))
                toWrite = toWrite + DateTime.Now.ToString("T") + ",";
            
            if (IsOptionEnabled("Date"))
                toWrite = toWrite + DateTime.Now.ToString("d") + ",";

            if (IsOptionEnabled("Attenuation"))
                toWrite = toWrite + t.attenuation + ",";

            if (IsOptionEnabled("TagRate"))
                toWrite = toWrite + t.tagRate + ",";
            
            if (IsOptionEnabled("RunTime"))
                toWrite = toWrite + t.attenRunTime + ",";

            if (IsOptionEnabled("SettleTime"))
                toWrite = toWrite + t.attenSettleTime + ",";

            return toWrite;
        }




    }
}