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;
}
}
}