Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions SourceCode/AgIO/Source/Properties/RegistrySettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,7 @@ public static void Load()
//make sure directories exist and are in right place if not default workingDir
CreateDirectories();

//keep below 500 kb
Log.CheckLogSize(Path.Combine(logsDirectory, "AgIO_Events_Log.txt"), 1000000);
Log.CheckLogSize(Path.Combine(logsDirectory, "AgIO_Events_Log.txt"));

Properties.Settings.Default.Load();
}
Expand Down
48 changes: 9 additions & 39 deletions SourceCode/AgLibrary/Logging/Log.cs
Original file line number Diff line number Diff line change
Expand Up @@ -46,49 +46,19 @@ public static void FileSaveSystemEvents()
}
}

public static void CheckLogSize(string logFile, int sizeLimit)
public static void CheckLogSize(string logFile, int maxLines = 100)
{
logsDirectory = logFile;

//system event log file
FileInfo txtfile = new FileInfo(logFile);
if (txtfile.Exists)
{
if (txtfile.Length > (sizeLimit)) // ## NOTE: 0.5MB max file size
{
StringBuilder sbF = new StringBuilder();
long bytes = txtfile.Length - sizeLimit;
bytes = (sizeLimit * 2) / 10 + bytes;
sbEvents.Append("Log File Reduced by: " + bytes.ToString());

//create some extra space
int bytesSoFar = 0;

using (StreamReader reader = new StreamReader(logFile))
{
try
{
//Date time line
while (!reader.EndOfStream)
{
bytesSoFar += reader.ReadLine().Length;
if (bytesSoFar > bytes)
break;
}
if (!File.Exists(logFile)) return;

while (!reader.EndOfStream)
{
sbF.AppendLine(reader.ReadLine());
}
}
catch { }
}

using (StreamWriter writer = new StreamWriter(logFile))
{
writer.WriteLine(sbF);
}
}
string[] lines = File.ReadAllLines(logFile);
if (lines.Length > maxLines)
{
string[] trimmed = new string[maxLines];
Array.Copy(lines, lines.Length - maxLines, trimmed, 0, maxLines);
File.WriteAllLines(logFile, trimmed);
sbEvents.Append("Log trimmed to last " + maxLines + " lines\r");
}
}
}
Expand Down
94 changes: 93 additions & 1 deletion SourceCode/AgOpenGPS.Core/Translations/gStr.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

73 changes: 73 additions & 0 deletions SourceCode/AgOpenGPS.Core/Translations/gStr.cs.resx
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,79 @@
<data name="gsAdvancedTramLines" xml:space="preserve">
<value>Votvoř pokročilé kolejové řádky</value>
</data>
<data name="gsAgShareDownloader" xml:space="preserve">
<value>Stáhnout pole z AgShare</value>
</data>
<data name="gsAgShareActivate" xml:space="preserve">
<value>Aktivovat</value>
</data>
<data name="gsAgShareActivated" xml:space="preserve">
<value>Aktivováno</value>
</data>
<data name="gsAgShareApiKey" xml:space="preserve">
<value>API klíč</value>
</data>
<data name="gsAgShareAutoLoad" xml:space="preserve">
<value>Načítání z cloudu</value>
</data>
<data name="gsAgShareAutoUpload" xml:space="preserve">
<value>Automatické nahrávání</value>
</data>
<data name="gsAgShareButtonsHint" xml:space="preserve">
<value>Automatické nahrávání: nahrát změny pole při zavření
Načítání z cloudu: vždy stáhnout nejnovější verzi z AgShare při otevření</value>
</data>
<data name="gsAgShareConnecting" xml:space="preserve">
<value>Připojování...</value>
</data>
<data name="gsAgShareConnectionOk" xml:space="preserve">
<value>Připojení úspěšné</value>
</data>
<data name="gsAgShareDeactivated" xml:space="preserve">
<value>Deaktivováno</value>
</data>
<data name="gsAgShareEnterDetails" xml:space="preserve">
<value>Zadejte server a API klíč, poté otestujte připojení</value>
</data>
<data name="gsAgShareInvalidApiKey" xml:space="preserve">
<value>Neplatný API klíč</value>
</data>
<data name="gsAgShareLocalOnly" xml:space="preserve">
<value>Pouze lokální</value>
</data>
<data name="gsAgSharePaste" xml:space="preserve">
<value>Vložit ze schránky</value>
</data>
<data name="gsAgShareRegisterHere" xml:space="preserve">
<value>Zaregistrujte se zde pro použití AgShare</value>
</data>
<data name="gsAgShareSaved" xml:space="preserve">
<value>Nastavení uloženo</value>
</data>
<data name="gsAgShareServer" xml:space="preserve">
<value>Server</value>
</data>
<data name="gsAgShareSettings" xml:space="preserve">
<value>Nastavení AgShare</value>
</data>
<data name="gsAgShareTestConnection" xml:space="preserve">
<value>Otestovat připojení</value>
</data>
<data name="gsAgShareUploadOff" xml:space="preserve">
<value>Nahrávání vypnuto</value>
</data>
<data name="gsAgShareUploadOn" xml:space="preserve">
<value>Nahrávání zapnuto</value>
</data>
<data name="gsAgShareAutoLoadActive" xml:space="preserve">
<value>Pole jsou automaticky načítána z cloudu</value>
</data>
<data name="gsAgShareFieldLoaded" xml:space="preserve">
<value>Pole načteno z AgShare</value>
</data>
<data name="gsAgShareLoadFailed" xml:space="preserve">
<value>Pole nelze načíst z cloudu, používá se lokální verze.</value>
</data>
<data name="gsAgressiveness" xml:space="preserve">
<value>Agresivita</value>
</data>
Expand Down
70 changes: 70 additions & 0 deletions SourceCode/AgOpenGPS.Core/Translations/gStr.de.resx
Original file line number Diff line number Diff line change
Expand Up @@ -1211,6 +1211,76 @@ VERWENDUNG AUF EIGENES RISIKO.</value>
<data name="gsAgShareDownloader" xml:space="preserve">
<value>Felder von AgShare herunterladen</value>
</data>
<data name="gsAgShareActivate" xml:space="preserve">
<value>Aktivieren</value>
</data>
<data name="gsAgShareActivated" xml:space="preserve">
<value>Aktiviert</value>
</data>
<data name="gsAgShareApiKey" xml:space="preserve">
<value>API-Schlüssel</value>
</data>
<data name="gsAgShareAutoLoad" xml:space="preserve">
<value>Cloud-Laden</value>
</data>
<data name="gsAgShareAutoUpload" xml:space="preserve">
<value>Auto-Upload</value>
</data>
<data name="gsAgShareButtonsHint" xml:space="preserve">
<value>Auto-Upload: Feldänderungen beim Schließen hochladen
Cloud-Laden: Immer neueste Version beim Öffnen von AgShare herunterladen</value>
</data>
<data name="gsAgShareConnecting" xml:space="preserve">
<value>Verbinde...</value>
</data>
<data name="gsAgShareConnectionOk" xml:space="preserve">
<value>Verbindung erfolgreich</value>
</data>
<data name="gsAgShareDeactivated" xml:space="preserve">
<value>Deaktiviert</value>
</data>
<data name="gsAgShareEnterDetails" xml:space="preserve">
<value>Server und API-Schlüssel eingeben, dann Verbindung testen</value>
</data>
<data name="gsAgShareInvalidApiKey" xml:space="preserve">
<value>Ungültiger API-Schlüssel</value>
</data>
<data name="gsAgShareLocalOnly" xml:space="preserve">
<value>Nur Lokal</value>
</data>
<data name="gsAgSharePaste" xml:space="preserve">
<value>Aus Zwischenablage einfügen</value>
</data>
<data name="gsAgShareRegisterHere" xml:space="preserve">
<value>Hier registrieren zur Nutzung von AgShare</value>
</data>
<data name="gsAgShareSaved" xml:space="preserve">
<value>Einstellungen gespeichert</value>
</data>
<data name="gsAgShareServer" xml:space="preserve">
<value>Server</value>
</data>
<data name="gsAgShareSettings" xml:space="preserve">
<value>AgShare-Einstellungen</value>
</data>
<data name="gsAgShareTestConnection" xml:space="preserve">
<value>Verbindung testen</value>
</data>
<data name="gsAgShareUploadOff" xml:space="preserve">
<value>Upload Aus</value>
</data>
<data name="gsAgShareUploadOn" xml:space="preserve">
<value>Upload Ein</value>
</data>
<data name="gsAgShareAutoLoadActive" xml:space="preserve">
<value>Felder werden automatisch aus der Cloud geladen</value>
</data>
<data name="gsAgShareFieldLoaded" xml:space="preserve">
<value>Feld von AgShare geladen</value>
</data>
<data name="gsAgShareLoadFailed" xml:space="preserve">
<value>Feld konnte nicht aus der Cloud geladen werden, lokale Version wird verwendet.</value>
</data>
<data name="gsDownloadAll" xml:space="preserve">
<value>Alle herunterladen</value>
</data>
Expand Down
Loading
Loading