LogDatei static Methoden

famco

Aktives Mitglied
Hallo,
als Umsteiger auf Java habe ich einige Verständnisprobleme. Es wäre nett, wenn mir jemand die richtige Richtung zeigen könnte.

Ich habe vor, mir ein package mit nützlichen Klassen zu erstellen. Konkret habe ich eine Klasse LogDatei geschrieben, die einen Konstruktor hat, mit dem eine Logdatei angelegt wird (sofern nicht vorhanden).
Mit der Methode loggen kann ich (über ein FileWriter-Objekt) beliebige Strings in die LogDatei schreiben.

Meine Plan war jetzt, ein globales LogDatei-Objekt zu erzeugen, über welches ich aus verschiedensten Methoden des Programms, Einträge in die Logdatei machen kann. Und genau an dieser Stelle habe ich keine Idee, wie ich das machen kann, ohne an alle Methoden das LogDatei-Objekt, welches ich in der statischen Main-Methode erzeugt habe, zu übergeben ...

Ich hoffe, das war halbwegs verständlich ...

Danke im voraus
famco
 
Zuletzt bearbeitet von einem Moderator:

theodosis

Mitglied
Alternativ, du kannst einmal am Anfang deiner Anwendung die folgenden Methoden aufrufen

Java:
FileOutputStream myLogFile = new FileOutputStream("logfile.txt");
System.setOut (myLogFile)

und dann alle System.out.print's weden automatisch in der Datei logfile.txt geschrieben werden.
 
F

Firephoenix

Gast
Hi,
ein Ansatz wäre:
die LogClass mit allen Methoden static machen

in einer beliebigen anderen Klasse nur noch die LogClass bei den imports einfügen (falls anderes Package)

und dann sowas:
LocClass.newLogEntry("blabla").

Gibt bestimmt schönere alternativen ;)
Gruß
 

Michael...

Top Contributor
Meine Plan war jetzt, ein globales LogDatei-Objekt zu erzeugen, über welches ich aus verschiedensten Methoden des Programms, Einträge in die Logdatei machen kann. Und genau an dieser Stelle habe ich keine Idee, wie ich das machen kann, ohne an alle Methoden das LogDatei-Objekt, welches ich in der statischen Main-Methode erzeugt habe, zu übergeben ...
Einfach kein Objekt erzeugen, dann muss man nichts übergeben ;-)
Die Methoden solcher Hilfsklassen, die von "überall" aufgerufen werden sollen, macht man static.
Ein Konstruktor für so eine Klasse ist unnötig. Da in Deinem Fall allerdings eine Datei erzeugt werden soll, benötigt die Klasse einen statischen "Konstruktor":
Java:
static {
      //hier Datei erzeugen und die Referenz der statischen Variablen übergeben
}

Hinweis: Für Logging gibt's bereits Frameworks z.B. log4j
 

famco

Aktives Mitglied
ok, das mit der LogDatei-Klasse ist ja auch nur ein Beispiel.
Wie sollte denn in Java generell das "Hauptprogramm" aufgebaut sein.
Bisher hatte ich meine Hauptklasse mit der statischen Main-Methode.
Darin habe ich mir einige Objektvariablen deklariert und entsprechend
meiner Klasse Exemplare erzeugt und verwendet.
Ist das grundsätzlich so ok, oder eher unglücklich ... ???

Danke
famco
 
F

Firephoenix

Gast
Hi,
das hängt immer von der größe des Programms ab.
Bei kleineren Programmen nimmt man meistens nur die main-Methode, lagert vielleicht mal 2-3 Methoden aus oder schreibt sich 2-3 Klassen dazu und ist glücklich ^^
Bei größeren Applikationen (insbesondere mit Grafik) startet die main-methode normalerweise nur noch die nötigen Vorgänge.
Am besten kann man sowas immer direkt am Code oder am Projektaufbau bzw den projektanforderungen abschätzen.
Gruß
 

famco

Aktives Mitglied
Hallo FirePhoenix,

was meinst Du mit "starten der nötigen Vorgänge" ?
Vielleicht: diverse Threads starten? Oder Objekte instanziieren und Startmethoden aufrufen ??

Danke
famco
 
F

Firephoenix

Gast
Hi,
je nachdem, bei einer Gui anwendung die über den EDT läuft könnte das starten z.b. als erzeugen des JFrames+setVisible repräsentiert werden :)
Bei anderen Anwendungen wieder anders ^^ je nachdem ob man Multithreading, MVC etc benutzt
Gruß
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Logdatei durchsuchen, Suchstand abspeichern? Java Basics - Anfänger-Themen 9
M Logdatei schreiben Java Basics - Anfänger-Themen 3
H Format des Datums in Logdatei Java Basics - Anfänger-Themen 2
R log4j - Datum an Logdatei anhängen möglich? Java Basics - Anfänger-Themen 7
cowabunga1984 Größe einer Logdatei begrenzen Java Basics - Anfänger-Themen 9
S Textdatei mit Zeilensprung - logDatei auswerten Java Basics - Anfänger-Themen 5
D Struktur in einer Logdatei Java Basics - Anfänger-Themen 2
O Welcher Object-Lock-Pool bei static Variablen? Java Basics - Anfänger-Themen 3
A Instance methods should not write to "static" fields Java Basics - Anfänger-Themen 4
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
viktor1 Methoden Methode schreiben static void readText (String filename) {...} zu WordHistogramSample.java Java Basics - Anfänger-Themen 13
M static ArrayList in non-static Java Basics - Anfänger-Themen 12
B Static vs non static und Probleme daraus Java Basics - Anfänger-Themen 13
S Methoden 2 non-static Methoden, trotzdem Fehler "non static method can not be referenced from a static context" Java Basics - Anfänger-Themen 9
R UML-Bild (Erkennung ob static o. nicht) Java Basics - Anfänger-Themen 18
R Schulaufgabe, Bruache Hilfe mit non-static Methoden Java Basics - Anfänger-Themen 2
B Static Attribute in einer Klasse, wie geht das? :O Java Basics - Anfänger-Themen 19
NaZuRe Geld(Wert) von der public static void main in die public static void Blackjack Java Basics - Anfänger-Themen 2
H Static Java Basics - Anfänger-Themen 5
K Ausgaben auf der Konsole (static Varible) Java Basics - Anfänger-Themen 9
S public static boolean Java Basics - Anfänger-Themen 4
Vamecruft Compiler-Fehler public static void zu static String ändern Java Basics - Anfänger-Themen 2
L non-static Fehler Java Basics - Anfänger-Themen 16
S Klassenmethode ohne static Java Basics - Anfänger-Themen 2
M (Sehr großes Problem) Listen als static in anderen Klassen verwendet Java Basics - Anfänger-Themen 12
J Fehlermeldung unklar. non-static variable player0 cannot be referenced from a static context Java Basics - Anfänger-Themen 4
D Methoden Scannervariablen in static Methoden Java Basics - Anfänger-Themen 5
P non-static variable cannot be referenced from a static context Java Basics - Anfänger-Themen 6
V the static method should be accessed is a static way Java Basics - Anfänger-Themen 6
NormanPatrickBenner static non-static Java Basics - Anfänger-Themen 82
N Erste Schritte "non-static method" oder "XYZ can not be resolved" Java Basics - Anfänger-Themen 21
B Email versenden, muss Methode static sein? Java Basics - Anfänger-Themen 7
R static in der Methode Java Basics - Anfänger-Themen 2
E Problem mit static Methode Java Basics - Anfänger-Themen 4
H Vererbung Static Scanner Objekt verwenden - von StdIn in einer importierten Klasse lesen Java Basics - Anfänger-Themen 10
M Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 10
I Abstrakte Klasse - static Attribute deklarieren Java Basics - Anfänger-Themen 14
C Methoden Unterschied zwichen public int, public static int und public static void Java Basics - Anfänger-Themen 2
J Frage zu: public static void main (String[]args) Java Basics - Anfänger-Themen 1
T Datentypen enum static Chaos (blutiger anfänger) Java Basics - Anfänger-Themen 5
D Das leidige Thema static.... Java Basics - Anfänger-Themen 15
Aprendiendo Interpreter-Fehler "non-static variable this cannot be referenced from a static context" Java Basics - Anfänger-Themen 2
T Problem mit static Java Basics - Anfänger-Themen 6
T static String Variable wird nur beim ersten aufruf durch eine Funktion geändert. Java Basics - Anfänger-Themen 16
S Vererbung Zugriff auf Methode funktioniert nicht (static/non-static) Java Basics - Anfänger-Themen 3
snipesss Was kann 'static'? Java Basics - Anfänger-Themen 4
H Variablen error: non-static variable cannot be referenced from a static context Java Basics - Anfänger-Themen 4
M public static int in ActionListener Java Basics - Anfänger-Themen 6
J static verschachtelte Klassen und innere Klassen Java Basics - Anfänger-Themen 1
H Nicht Static Funktion ohne Objekt aufrufen? Java Basics - Anfänger-Themen 6
E Objekte und static Java Basics - Anfänger-Themen 2
K Methoden Methoden in Methoden -> static oder nicht? Java Basics - Anfänger-Themen 7
D Erklärung static boolean Java Basics - Anfänger-Themen 6
L Was genau macht "public static void" ? Java Basics - Anfänger-Themen 12
U Erste Schritte cannot be referenced from a static context Java Basics - Anfänger-Themen 1
B ja ja schon wieder einer mit einer public static void main(string[] args) Frage... Java Basics - Anfänger-Themen 8
J Java: static bei Vererbung Java Basics - Anfänger-Themen 5
O Zu viel static im Projekt Java Basics - Anfänger-Themen 9
F Static final Klasse Java Basics - Anfänger-Themen 0
N static und Objekt kombiniert?!? Java Basics - Anfänger-Themen 3
O Wann nutzt man static? Java Basics - Anfänger-Themen 19
B Klassen Eigene "non static" Klasse in Main verwenden! Java Basics - Anfänger-Themen 12
D neue public static class variablen in array speichern? Java Basics - Anfänger-Themen 6
A Static variablen --- Anwendungsbereich Java Basics - Anfänger-Themen 11
B Erste Schritte Wie komme ich aus Static raus?!! Java Basics - Anfänger-Themen 4
V Static Methods Java Basics - Anfänger-Themen 5
W Compiler-Fehler "non-static method cannot be referenced"-Problem Java Basics - Anfänger-Themen 6
S OOP Klasse mit static-Eigenschaften - HashMap füllen Java Basics - Anfänger-Themen 6
3 OOP static class in einer Klasse Java Basics - Anfänger-Themen 6
B static individuell "vererben"? Java Basics - Anfänger-Themen 8
B Erkennen, wann static oder nicht? Java Basics - Anfänger-Themen 7
T Static Fehler Java Basics - Anfänger-Themen 1
R public static void Rückgabe Java Basics - Anfänger-Themen 5
P Compiler-Fehler public static void main, Grundloses Problem Java Basics - Anfänger-Themen 4
A Cannot make a static reference to the non-static field Java Basics - Anfänger-Themen 6
W Variablen Automatisch static? Java Basics - Anfänger-Themen 3
O Warum muss ich static? Java Basics - Anfänger-Themen 6
O Static Java Basics - Anfänger-Themen 15
E non-static method und static context Java Basics - Anfänger-Themen 15
B non static interface Methode Java Basics - Anfänger-Themen 16
J KeyListener,MouseListener,MouseMotionListener und static Java Basics - Anfänger-Themen 7
S Static void Methode Java Basics - Anfänger-Themen 12
Q Unterschied zwischen static und keinem Modifier Java Basics - Anfänger-Themen 15
O Main-Methode static modifier umgehen Java Basics - Anfänger-Themen 10
J Variablen non-static variable Java Basics - Anfänger-Themen 2
P Erste Schritte public oder static oder wie? Java Basics - Anfänger-Themen 7
J static - Methoden Java Basics - Anfänger-Themen 22
X Erste Schritte Methode ohne Static Java Basics - Anfänger-Themen 4
B Classpath static block - Verwirrung Java Basics - Anfänger-Themen 2
S Methoden Warum ist sleep static? Java Basics - Anfänger-Themen 9
K static, non-static Krise Java Basics - Anfänger-Themen 4
R Schlüsselworte static Methoden und Imports Java Basics - Anfänger-Themen 10
M Methoden "Non-static method xy cannot be referenced from a static context" Java Basics - Anfänger-Themen 20
J Probleme mit static generische Klasse Java Basics - Anfänger-Themen 6
S Aufruf Einer Methode aus einer anderen Klasse - Static Fehler Java Basics - Anfänger-Themen 4
W Methodenaufruf innerhalb einer Klasse - static vs. this Java Basics - Anfänger-Themen 3
K Objekt erstellen - error: non-static variable this cannot be referenced from a static context Java Basics - Anfänger-Themen 17
H non-static method cannot be referenced from a static context Java Basics - Anfänger-Themen 2
Y Gebrauch von static Java Basics - Anfänger-Themen 29
L Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben