AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Log-Datei Schreiben unter Linux

Ein Thema von lowmax_5 · begonnen am 18. Sep 2019 · letzter Beitrag vom 18. Sep 2019
Antwort Antwort
lowmax_5

Registriert seit: 9. Mai 2003
Ort: Münster, NRW
258 Beiträge
 
Delphi 11 Alexandria
 
#1

Log-Datei Schreiben unter Linux

  Alt 18. Sep 2019, 16:58
Hallo,

ich möchte ein einfaches Logfile unter Linux erstellen im Pfad '/var/log/mylog.log'

Unter Windows funktioniert dieses einwandfrei, aber unter Linux wird nichts geschrieben.


Code:
var
  tf_logfile: TextFile;
begin
  AssignFile(tf_logfile, '/var/log/mylog.log');

  if not FileExists('/var/log/mylog.log') then
  begin
{$I-}
    Rewrite(tf_logfile);
  end;
  if IOResult <> 0 then
    exit;

{$I-}

  append(tf_logfile);
  writeLn(tf_logfile, 'Eintrag');
  flush(tf_logfile);
  closeFile(tf_logfile);
Nachtrag: \ gegen / getauscht

Geändert von lowmax_5 (18. Sep 2019 um 19:44 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Log-Datei Schreiben unter Linux

  Alt 18. Sep 2019, 18:36
Hallo,
bist Du sicher, dass Du in /var/log überhaupt Schreibrechte hast?
Das ist doch ein Verzeichnis für System-Logs wie z.B. messages?
Heiko

Geändert von hoika (19. Sep 2019 um 06:34 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.683 Beiträge
 
Delphi 5 Professional
 
#3

AW: Log-Datei Schreiben unter Linux

  Alt 18. Sep 2019, 18:44
Sofern das Programm nicht mit Superuser-Rechten (aka root) ausgeführt wird, ist das auch nicht weiter verwunderlich, denn standardmäßig hat kein User Schreibrechte in /var/log.

Außerdem sollte man sich sehr zurückhalten mit dem direkten Schreiben von Logfiles unter Linux, insbesondere in /var/log, denn nicht zum Spaß gibt es sogenannte Syslog-Facilities, d.h. Programme sollten ins Syslog schreiben und im jeweiligen Syslog-Daemon wird dann eingestellt, in welches Logfile die Meldungen aus dieser Facility geschrieben werden sollen: Beispiel für Ubuntu bei Thomas Krenn. Leider hab ich keine Ahnung, was man tun muss, um in einem eigenen Programm ins Syslog zu schreiben - vielleicht gibt's dafür schon fertige Units, an die man andocken kann?

Grüße
Dalai
  Mit Zitat antworten Zitat
lowmax_5

Registriert seit: 9. Mai 2003
Ort: Münster, NRW
258 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Log-Datei Schreiben unter Linux

  Alt 18. Sep 2019, 18:50
Es handelt sich um ein ApacheLinkModul, und da Apache auch in \var\log\apache2\ seine Logs schreibt, dachte ich mir, dass es dort gut aufgehoben ist.
Das LinkModul wird ja auch im Rechtekontext des Apache ausgeführt...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#5

AW: Log-Datei Schreiben unter Linux

  Alt 18. Sep 2019, 19:09
Von den Rechten einmal abgesehen, kommt Linux mit den Backslashes eigentlich klar?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
lowmax_5

Registriert seit: 9. Mai 2003
Ort: Münster, NRW
258 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Log-Datei Schreiben unter Linux

  Alt 18. Sep 2019, 19:43
Zitat:
Von den Rechten einmal abgesehen, kommt Linux mit den Backslashes eigentlich klar?
Oops, ich meinte natürlich /var/log/mylog.log . Soviel habe ich auch schon mit bekommen, dass es diesen Unterschied gibt ..
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.683 Beiträge
 
Delphi 5 Professional
 
#7

AW: Log-Datei Schreiben unter Linux

  Alt 18. Sep 2019, 21:00
Wie klinkst du dich denn in den Apache ein? Es muss doch irgendein Interface oder sowas geben, das der Apache nutzen kann, Informationen von den Modulen abzufragen (und umgekehrt).

In der offiziellen Anleitung Developing modules for the Apache HTTP Server 2.4 finden sich Angaben zu diversen Hooks, unter anderem auch zum Logging (mein Suchbegriff auf der Seite war schlicht "log").

Denn eigentlich sollte das der Weg sein, dem Apache die Logmeldungen einfach nur zu übergeben, und über die Apache Konfig (z.B. im VHost) wird dann festgelegt, was in welchem Log landen soll. (Nur zur Info: Es gibt unter Linux diverse Daemons, die tatsächlich am Syslog vorbei arbeiten/protokollieren, z.B. Apache, Bind9, MySQL, Postgres usw. Aber manchmal - auch im Fall vom Apache - lässt sich dort analog zum Syslog konfigurieren, was mit welchem Loglevel in welche Datei geschrieben werden soll.)

Grüße
Dalai
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz