Gibt es eine Funktion für Logfile Dateinamen ?

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1679
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Gibt es eine Funktion für Logfile Dateinamen ?

Beitrag von corpsman »

Oh man ist das ein schlechter Betreff, ggf. wirds anhand eines Beispiels klarer.

Will ich in meiner App Config Dateien ablegen nutze ich: GetAppConfigFile
Will ich in meiner App Temporäre Dateien ablegen nutze ich: GetTempDir oder GetTempFileName

Nun will ich aber "Logs" ablegen,

Unter Linux gehören die so viel ich weiß nach "/var/log/Application_name" (siehe: https://de.wikipedia.org/wiki/Filesyste ... y_Standard )
Unter Windows, würde ich wahrscheinlich das GetAppConfigDir nehmen, weil mir GetTempDir irgendwie falsch vorkommt
Unter MacOS, ??

Hat Lazarus da was für, oder baue ich mir das wie oben gezeigt einfach selbst und hoffe, dass hier ein MacOS User mit ließt und mir nen Tipp geben kann wo ich das gescheit ablegen soll ?
--
Just try it

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1679
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Gibt es eine Funktion für Logfile Dateinamen ?

Beitrag von corpsman »

Hmm,
/var/log benötigt root rechte, was das ganze irgendwie unsinnig macht, wenn mein Anwendung im User Context läuft :(
--
Just try it

Benutzeravatar
theo
Beiträge: 11111
Registriert: Mo 11. Sep 2006, 19:01

Re: Gibt es eine Funktion für Logfile Dateinamen ?

Beitrag von theo »


Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1679
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Gibt es eine Funktion für Logfile Dateinamen ?

Beitrag von corpsman »

Meine Programme nutzen https://github.com/PascalCorpsman/Examp ... logger.pas dieser schreibt einfach nur eine Datei, Bisher hatte ich die da abgelegt wo meine Anwendung liegt, aber unter Mac und manchmal Linux scheint das keine Gute idee zu sein ...
--
Just try it

Benutzeravatar
theo
Beiträge: 11111
Registriert: Mo 11. Sep 2006, 19:01

Re: Gibt es eine Funktion für Logfile Dateinamen ?

Beitrag von theo »

corpsman hat geschrieben: Do 25. Dez 2025, 12:37 Bisher hatte ich die da abgelegt wo meine Anwendung liegt, aber unter Mac und manchmal Linux scheint das keine Gute idee zu sein ...
Warum? Du musst ein bisschen genauer werden.
Installierst du die Anwendung ins System oder unter /home?
Willst du "privat" loggen oder soll es mit den Systemtools einsehbar sein?

Für "privat" wäre vllt. ein Ordner unter GetAppConfigDir(false) ganz geeignet.

Mathias
Beiträge: 7143
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Gibt es eine Funktion für Logfile Dateinamen ?

Beitrag von Mathias »

Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
theo
Beiträge: 11111
Registriert: Mo 11. Sep 2006, 19:01

Re: Gibt es eine Funktion für Logfile Dateinamen ?

Beitrag von theo »

Habe mal kurz den TEventLog getestet.
Funktioniert ganz einfach und wird auf Linux im Systemd-Journalbetrachter angezeigt.
Wenn man Logtype auf ltFile einstellt, kommt es im "Filename".

Code: Alles auswählen

uses eventlog;
...
procedure TForm1.Button1Click(Sender: TObject);
var
  lg: TEventLog;
begin
  lg := TEventLog.Create(self);
  lg.LogType := ltSystem;
  lg.Info('testensys');
  lg.Free;
end;  
Dateianhänge
lazlog.png
lazlog.png (229.94 KiB) 142 mal betrachtet

Antworten