So entfernen Sie Computer- und Prozessnamen und Prozess-IDs aus SyslogC#

Ein Treffpunkt für C#-Programmierer
Guest
 So entfernen Sie Computer- und Prozessnamen und Prozess-IDs aus Syslog

Post by Guest »

Debian-Syslog enthält sich wiederholende Informationen wie:

Code: Select all

Dec 25 09:43:28 uvn-76-202 Eeva[7192]:          at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
Dec 25 09:43:28 uvn-76-202 Eeva[7192]:          at Program.c.d.MoveNext() in C:\raamat\eevaweb\Store\Program.cs:line 979
Dec 25 09:43:28 uvn-76-202 Eeva[7192]:
Dec 25 09:45:01 uvn-76-202 CRON[18528]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Dec 25 09:54:14 uvn-76-202 systemd[1]: Created slice User Slice of UID 0.
So entfernen Sie Servernamen, Prozessnamen, Prozess-IDs und Leerzeichen, sodass die Ausgabe erfolgt

Code: Select all

Dec 25 09:43:28 at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
Dec 25 09:43:28 at Program.c.d.MoveNext() in C:\raamat\eevaweb\Store\Program.cs:line 979
Dec 25 09:45:01 (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Dec 25 09:54:14 Created slice User Slice of UID 0.
Versucht, im ASP.NET 9 MVC-Controller zu verwenden

Code: Select all

  StribBuilder sb = new();
using StreamReader reader = new("/var/log/syslog");
string line;
while ((line = await reader.ReadLineAsync()) != null)
{
line = StrTran(line, "uvn-76-202 Eeva", "");
line = StrTran(line, "         "), "");
sb.AppendLine(line);
}

static string StrTran(string cSearchIn, string cSearchFor, string cReplaceWith)
{
StringBuilder sb = new(cSearchIn);
return sb.Replace(cSearchFor, cReplaceWith).ToString();
}
aber dadurch wird nur ein Teil der unnötigen Informationen entfernt.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post