Schreiben eine LogDatei!!!

M

matzeed7

Mitglied
Hallo,


ich habe folgendes Problem. Ich benötige für mein Projekt eine
log Datei. In der ich alle möglichen Teilschritte meines Programmes
eintragen möchte. Da ich aber noch nie mit Dateien gearbeitet
habe stehe ich nun vor dem Problem in der bereits
angefangenen Datei in einer ganz bestimmten Zeile
eine neue/weitere Zeile einzufügen.

Was ich dabei nicht weis ist, wie kann ich mir die stelle merken
pointer????
und wie kann ich einfach eine neue Zeile an diese Stelle
schreiben ohne andere Zeilen zu löschen bzw wie schieben sich die
restlichen zeilen nach hinten??

Kennt jemand ein gutes tutorial oder kann mir wer mal ein paar tipps geben!!!


Gruss Matze
 
So etwas implementiert man nicht selber, es sei denn man will sich selber in die Bredouille bringen.

Es gibt massig Bibliotheken für sowas wie z.B. log4c
 
du kannst es so machen dass du am anfang von deinem programm die datei aufmachst und dann immer wieder ans ende der datei schreibst. und am ende vom programm die datei wieder zumachst.

willst du aber waenn du 500 logeintraege geschrieben hast nach dem 234igsten einen weiteren eintrag einfuegen wird dir nichts anderes ueberbleiben als alle logeintraege inklusive dem neuen neu zu schreiben!

in einer datei kannst du dich mittels lseek (http://man.he.net/man2/lseek) bewegen. das bringt dir soweit aber nur beim lesen was.


mfg hazelnoot
 
Naja, du könntest es auch etwas Kompilzierter gestallten. Meine Überlegung währe das du die bereits vorhandene Log-Datei einfach mal ausliehst und dann von Zeile 1 bis Zeile n(deine Zeile) ausliehst, dies dann zwischen speicherst und dann von Zeile n(deine Zeile) bis zum Ende ausliehst. Dann mußt du nur noch Teil eins(also 1 bis n), dann deine Neue Zeile und dann Zeile (n bis ende) schreiben.

Ist aber ein sehr Umfangreicher Code dann ;) aber machbar denke ich ;)
Code:
Ich bin Zeile 1 // Auslesen von Zeile 1 bis Zeile 2. Dann zwischenspeichern in var1.
Ich bin Zeile 2
neue Zeile      // Diese Zeile solltest du ja selber schon haben!
Ich bin Zeile 3 // Auslesen von Zeile 3 - 5. Dann zwischenspeichern in var2.
Ich bin Zeile 4
Ich bin Zeile 5

-------------------------------

// Schreiben

Schreibe var1
dann n
und dann var2

Datei close

So ungefähr ist der Grundgedanke von mir ;)
 
Zuletzt bearbeitet:
du kannst es so machen dass du am anfang von deinem programm die datei aufmachst und dann immer wieder ans ende der datei schreibst. und am ende vom programm die datei wieder zumachst.

willst du aber waenn du 500 logeintraege geschrieben hast nach dem 234igsten einen weiteren eintrag einfuegen wird dir nichts anderes ueberbleiben als alle logeintraege inklusive dem neuen neu zu schreiben!

in einer datei kannst du dich mittels lseek (http://man.he.net/man2/lseek) bewegen. das bringt dir soweit aber nur beim lesen was.

Naja, du könntest es auch etwas Kompilzierter gestallten. Meine Überlegung währe das du die bereits vorhandene Log-Datei einfach mal ausliehst und dann von Zeile 1 bis Zeile n(deine Zeile) ausliehst, dies dann zwischen speicherst und dann von Zeile n(deine Zeile) bis zum Ende ausliehst. Dann mußt du nur noch Teil eins(also 1 bis n), dann deine Neue Zeile und dann Zeile (n bis ende) schreiben.

Ist aber ein sehr Umfangreicher Code dann aber machbar denke ich

WTF?

Wieso sollte man sowas fehleranfälliges selber programmieren, wenn es dafür ausgereifte Bibliotheken gibt?

Ihr arbeitet beide nicht in der IT-Industrie, oder?

Wißt ihr, wie ihr da den Vogel gezeigt kriegt, wenn ihr anfangt so einen Schwachfug zu programmieren?
 
Oh du bist aber ein Netter.

1. Ich lerne noch.
2. Es war nur ein Grundgedanke

und ansonsten kann ich nur sagen: "Sag wie es besser geht und mach die Leute hier nicht gleich schlecht!". DANKE
 
und ansonsten kann ich nur sagen: "Sag wie es besser geht und mach die Leute hier nicht gleich schlecht!". DANKE

Das habe ich.

Wie schon erwähnt, gibt es für diese absoluten Basics wie Logging in __jeder__ ernst zu nehmenden Sprache ausgereifte Bibliotheken.

Log4c hatte ich z.B. im zweiten Post erwähnt.
 
Ihr arbeitet beide nicht in der IT-Industrie, oder?

Wißt ihr, wie ihr da den Vogel gezeigt kriegt, wenn ihr anfangt so einen Schwachfug zu programmieren?

nanana schlechter tag heute was? beruhig dich mal ich glaube matzeed7 will das eh selber programmieren ist ja sicherlich ein freizeitprojekt also gehts um den spass natuerlich hast du recht das man da auch ne ausgetestete lib hernehmen kann aber waenn man lernen will wie das mit den dateien und so geht schreibt man sich das eben selber also TAKE IT EASY...

mfg hazelnoot
 
ja ich denke es geht hier ums selber lehrnen. Doch naja ich war mit meiner Antwort vieleicht auch etwas voreilig!

Also sry Sucker... aber lasse mich halt nur ungerne von der Seite anreden ;) War ja nur ein gut gemeinter Beitrag. Auch wenn leihenhaft!
 
Naja,

mein Tonfall war auch nicht optimal.

Mich nervt es halt nur immer, das Neulinge alles immer neu + selber machen wollen, sprich das Rad zum x-ten Mal erfinden wollen.

In diesem Sinne, nichts für ungut.......:)
 
Mich nervt es halt nur immer, das Neulinge alles immer neu + selber machen wollen, sprich das Rad zum x-ten Mal erfinden wollen
nur so lernt man ich hab das genauso gemacht... nun nehm ich wos geht auch fertige sachen her... aber jeder faengt mal klein an^^

mfg hazelnoot
 

Ähnliche Themen

CSV Datei mit sed manipulieren/optimieren/ergänzen

Heimserver Konfiguration für Ubuntu Server?!

[Tcl / Shell] Ändern einer Datei per vi - Änderungsdatum einer Datei erfassen

Hardware RAID-0 kaputt / wird nicht mehr erkannt

script um logfile zu monitoren/anzupassen

Zurück
Oben