diff --git a/csharp/App/SaliMax/src/Logfile.cs b/csharp/App/SaliMax/src/Logfile.cs index 295d7729b..2d95a323d 100644 --- a/csharp/App/SaliMax/src/Logfile.cs +++ b/csharp/App/SaliMax/src/Logfile.cs @@ -5,20 +5,20 @@ namespace InnovEnergy.App.SaliMax; public class CustomLogger : ILogger { - private readonly String _logFilePath; - private readonly Int64 _maxFileSizeBytes; - private readonly Int32 _maxLogFileCount; - private Int64 _currentFileSizeBytes; + private readonly String _LogFilePath; + private readonly Int64 _MaxFileSizeBytes; + private readonly Int32 _MaxLogFileCount; + private Int64 _CurrentFileSizeBytes; public CustomLogger(String logFilePath, Int64 maxFileSizeBytes, Int32 maxLogFileCount) { - _logFilePath = logFilePath; - _maxFileSizeBytes = maxFileSizeBytes; - _maxLogFileCount = maxLogFileCount; - _currentFileSizeBytes = File.Exists(logFilePath) ? new FileInfo(logFilePath).Length : 0; + _LogFilePath = logFilePath; + _MaxFileSizeBytes = maxFileSizeBytes; + _MaxLogFileCount = maxLogFileCount; + _CurrentFileSizeBytes = File.Exists(logFilePath) ? new FileInfo(logFilePath).Length : 0; } - public IDisposable BeginScope(TState state) + public IDisposable? BeginScope(TState state) where TState : notnull { throw new NotImplementedException(); } @@ -33,35 +33,34 @@ public class CustomLogger : ILogger var logMessage = formatter(state, exception!); // Check the file size and rotate the log file if necessary - if (_currentFileSizeBytes + logMessage.Length >= _maxFileSizeBytes) + if (_CurrentFileSizeBytes + logMessage.Length >= _MaxFileSizeBytes) { RotateLogFile(); - _currentFileSizeBytes = 0; + _CurrentFileSizeBytes = 0; } // Write the log message to the file - File.AppendAllText(_logFilePath, logMessage + Environment.NewLine); - _currentFileSizeBytes += logMessage.Length; + File.AppendAllText(_LogFilePath, logMessage + Environment.NewLine); + _CurrentFileSizeBytes += logMessage.Length; } private void RotateLogFile() { // Check the log file count and delete the oldest file if necessary - var logFileDir = Path.GetDirectoryName(_logFilePath)!; - var logFileExt = Path.GetExtension(_logFilePath); - var logFileBaseName = Path.GetFileNameWithoutExtension(_logFilePath); + var logFileDir = Path.GetDirectoryName(_LogFilePath)!; + var logFileExt = Path.GetExtension(_LogFilePath); + var logFileBaseName = Path.GetFileNameWithoutExtension(_LogFilePath); - var logFiles = Directory.GetFiles(logFileDir, $"{logFileBaseName}_*{logFileExt}") - .OrderBy(file => file) - .ToList(); + var logFiles = Directory + .GetFiles(logFileDir, $"{logFileBaseName}_*{logFileExt}") + .OrderBy(file => file) + .ToList(); - if (logFiles.Count >= _maxLogFileCount) - { + if (logFiles.Count >= _MaxLogFileCount) File.Delete(logFiles.First()); - } // Rename the current log file with a timestamp var logFileBackupPath = Path.Combine(logFileDir, $"{logFileBaseName}_{UnixTime.Now}{logFileExt}"); - File.Move(_logFilePath, logFileBackupPath); + File.Move(_LogFilePath, logFileBackupPath); } } diff --git a/csharp/App/SaliMax/src/Program.cs b/csharp/App/SaliMax/src/Program.cs index 0c912c0ed..665201e29 100644 --- a/csharp/App/SaliMax/src/Program.cs +++ b/csharp/App/SaliMax/src/Program.cs @@ -241,11 +241,11 @@ internal static class Program // Voltage Measurement Values //var inverterVoltage = new Voltage [(Int32)s.AcDc.Ac.L1.Voltage, (Int32)s.AcDc.Ac.L2.Voltage, (Int32)s.AcDc.Ac.L3.Voltage]; //var dcLinkVoltage = s.DcDc.Dc.Link.Voltage; - var dc48Voltage = s.DcDc.Dc.Battery.Voltage; - var batteryVoltage = s.Battery.Dc.Voltage; - var batterySoc = s.Battery.Soc; - var batteryCurrent = s.Battery.Dc.Current; - var batteryTemp = s.Battery.Temperature; + var dc48Voltage = s.DcDc.Dc.Battery.Voltage.ToDisplayString(); + var batteryVoltage = s.Battery.Dc.Voltage.ToDisplayString(); + var batterySoc = s.Battery.Soc.ToDisplayString(); + var batteryCurrent = s.Battery.Dc.Current.ToDisplayString(); + var batteryTemp = s.Battery.Temperature.ToDisplayString(); var gridBusColumn = ColumnBox("Pv", "Grid Bus", "Load" , gridVoltageByPhase , gridLoadPower); var islandBusColumn = ColumnBox("Pv", "Island Bus", "Load" , inverterPowerByPhase, islandLoadPower); @@ -260,10 +260,10 @@ internal static class Program var gridBox = TextBlock.AlignLeft(gridPowerByPhase).TitleBox("Grid"); var inverterBox = TextBlock.AlignLeft(inverterPowerByAcDc).TitleBox("Inverter"); var dcDcBox = TextBlock.AlignLeft(dc48Voltage).TitleBox("DC/DC"); - var batteryAvgBox = TextBlock.AlignLeft(batteryVoltage.ToDisplayString(), - batterySoc.ToDisplayString(), - batteryCurrent.ToDisplayString(), - batteryTemp.ToDisplayString()) + var batteryAvgBox = TextBlock.AlignLeft(batteryVoltage, + batterySoc, + batteryCurrent, + batteryTemp) .TitleBox("Battery");