# Wie loggt ihr ?



## bygones (25. Nov 2004)

mich würde es einfach mal interessieren, ob ihr für eure Programme log ausgaben erstellt und wenn ja wie ihr loogt ?!


----------



## dotlens (25. Nov 2004)

jetzt wo dus sagst, dafür gibts ja klassen. hab das immer selbst implementiret!!!


----------



## Bleiglanz (25. Nov 2004)

warum fehlt System.out in der Liste?


----------



## bygones (25. Nov 2004)

stimmt System.out habe ich nicht mitgenommen 

ich nutz auch immer den util.Logger... gefällt mir v.a. durch die Handler die man selbst schreiben kann


----------



## Roar (25. Nov 2004)

gar net.
ansonsten benutz ich System.out :bae:


----------



## Grizzly (25. Nov 2004)

Apache Jakarta Commons Logging.

Vor allem Fehler werden mitgelogt. Dann kann der Benutzer / Kunde uns einfach diese Log-Datei schicken und wir finden dann (hoffentlich) den Fehler schneller.


----------



## bygones (25. Nov 2004)

Grizzly hat gesagt.:
			
		

> Vor allem Fehler werden mitgelogt. Dann kann der Benutzer / Kunde uns einfach diese Log-Datei schicken und wir finden dann (hoffentlich) den Fehler schneller.


dito mit dem util.Logger


----------



## L-ectron-X (25. Nov 2004)

Ich habe bisher bei noch keinem meiner Programme irgendetwas mitgeloggt.
War auch noch nicht nötig. Meine Programme haben bisher noch nicht den Umfang erreicht, bei dem ich einschätze, dass sich der Aufwand lohnen würde.


----------



## thE_29 (25. Nov 2004)

Bei uns wird die System.out, wenn loglevel 9 ist zusätzlich mitgeloggt.

Ansonsten werden alle Funktionseintritte, Fehler usw je nach Loglevel (1-9) mitgeloggt, so kommen wir den Fehler meistens schnell auf den Grund


----------



## Student (30. Nov 2004)

'logging' .. *hust* .. muss ein wort aus einer längst vergessenen sprache sein ... *räusper*


----------



## Beni (30. Nov 2004)

Ich muss gestehen, dass ich auch keine Logs schreibe.


----------



## dotlens (30. Nov 2004)

ich denke mal es dauert wesentlich weniger lange, n log zu schreiben, als Fehler Fehler zu rekonstruieren, damit man sie ev nachher versteht 
es sei denn das tool ist für den eigengebrauch


----------



## Roar (30. Nov 2004)

ansonsten mach ich einfach 
System.setErr(zu:error.log)
System.setOut(zuut.log);
und fertig 
und wenn in meinem dashboard ne exception auftritt kann man gleich nen bug report mailen inkl. der error.log.. wozu brauchts da noch umständlicheres logging?


----------



## bygones (30. Nov 2004)

Roar hat gesagt.:
			
		

> und wenn in meinem dashboard ne exception auftritt kann man gleich nen bug report mailen inkl. der error.log.. wozu brauchts da noch umständlicheres logging?


z.b. util.Logger ist meiner ansicht nach nicht umständlich und hat den Vorteil man kann mehrere Logquellen nutzen (gleichzeitig in datei oder datenbank usw)... des weiteren kann man untersch. Levels definieren und je nach wunsch den Level raufsetzen oder nicht (geht auch in log4j) um soimit untersch. logs zu erhalten


----------



## foobar (30. Nov 2004)

Ich verwende Log4J, da man sich damit eine Menge Arbeit ersparen kann. Anstatt den Code nach System.out zu durchforsten und entsprechend auszukommentieren. Kann man das Logging komfortabel über ein Xml oder Propertiefile konfigurieren. Dadurch hat man die volle Kontrolle darüber was wohin gelogged wird. Ausserdem erpart man sich auch den lästigen Debuger, denn ich finde es intuitiver ein Logfile zu durchsuchen als umständlich Haltpunkte zu setzen und eine Software zu tracen.


----------



## Knoxx (30. Nov 2004)

jupp, kann ich nur zustimmen: Log4J ist ideal für solche Aufgaben. Wird bei mir in der Arbeit reichlich eingesetzt.


----------



## Guest (4. Dez 2004)

ln -s /dev/null /dev/support
java Whatever 2>&1 > /dev/support

oder so ähnlich


----------



## bygones (4. Dez 2004)

ich seh schon mein super duper util.Logger ist da recht einsam


----------



## Guest (4. Dez 2004)

Egal, welche Logger-Implementierung.
Alles ist besser als sowas 

```
try
{
  ...
}
catch(Exception e)
{
  e.printStackTrace(); // Lass den User wissen, dass Du Bullshit programmierst.
}
```
Erstaunlicherweise gibt es genug "gute" Bücher für Anfänger, wo dieses Thema 
so ignorant behandelt wird.
Das mit dem /dev/null habe ich nicht ernst gemeint. dev/null ist schon für Backups reserviert :bae:


----------



## Roar (4. Dez 2004)

deathbyaclown hat gesagt.:
			
		

> Roar hat gesagt.:
> 
> 
> 
> ...



ich schau mir das irgendwann mal an,. aber im moment brauch ichs nicht solange meine programme überschaubar bleiben...


----------



## Reality (4. Dez 2004)

Was meint ihr mit Logs? Fehler speichern?

Liebe Grüße
Reality


----------



## foobar (4. Dez 2004)

> Was meint ihr mit Logs? Fehler speichern?


Loggen kann man alles Mögliche Exceptions, Debuginformationen etc.


----------



## Reality (5. Dez 2004)

Danke.


----------



## Grizzly (5. Dez 2004)

Anonymous hat gesagt.:
			
		

> Egal, welche Logger-Implementierung.
> Alles ist besser als sowas
> 
> ```
> ...



Ähm, auf unserer ehemaligen tollen Schule war es noch viel besser: Dort wurde im Java Unterricht das Thema Exceptions komplett ausgeklammert. Und wenn es nicht anders ging und man doch so einen try...catch Block gebraucht hat: "Das müsst ihr halt so machen.". Zum Glück konnte ich von der Uni her schon Java  .


----------



## Guest (6. Dez 2004)

@Grizzly
Ich kenne es gerade umgekehrt.  An einer höheren Berufsfachschule für Informatik lernten
wir alles von Assembler über Pascal, C und C++ etc. bis hin zu komplexen Client-Server Lösungen
sauber zu implementieren. An der Hochschule kam dann der Babykram. Die haben nicht mal die 
Logik und Methodik der Programmierung behandelt, schon liessen sie die Leute an 'praktische' 
Übungsaufgaben ran. Du kannst Dir denken, was für geniale Lösungen dabei rauskamen.


----------



## Student (6. Dez 2004)

Grizzly hat gesagt.:
			
		

> Und wenn es nicht anders ging und man doch so einen try...catch Block gebraucht hat


wurde der iiiiiiiiiiirgendwie durch ein throws Exception eingetauscht .. hehe ..


----------



## Tobias (6. Dez 2004)

Ich benutze den util.Logger, weil meine Kunden neben Error-Logs auch bestimmte Aktionen von Benutzern mitloggen wollen/müssen. Also Sachen wie "Schicht getauscht", "Nachricht gelesen", "Nachricht geschrieben".

mpG
Tobias


----------



## LastUnicorn (28. Dez 2004)

ALso ich hab mir nen Traceprinter geschrieben. Der macht nichts anderes als die aktuelle Methode zu ermitteln und dass dann, sofern der Printer über ne Properties Datei aktiviert wurde, per System.out auf die Konsole zu hämmern. Den util.Logger kannte ich bis zu diesem Thread noch garnicht


----------



## sliwalker (5. Jan 2005)

Hoi,

ich bin in einem halben Jahr fertig mit meinem "Studium".
Exceptions haben wir ausgiebig behandelt, aber dennoch kommt da nicht viel mehr als:

```
try 
{ 
  ... 
} 
catch(Exception e) 
{ 
  e.printStackTrace(); // Lass den User wissen, dass Du Bullshit programmierst. 
}
```

raus.
Was ist daran falsch oder nicht gut?
Ich würd`schon gerne wissen was mir da für Scheiß beigebracht wird.

Und was ist Logging auf JAVA bezogen?
Etwas "loggen" ist ja ein alltäglicher Internetbegriff, aber was machen diese speziellen Klassen?

Hab jetzt soviel rausgehört, das man sich Fehlermeldungen in ne Datei schreiben kann.
Ist das alles?

Für ein paar erläuternde Worte wär ich dankbar, den Rest kann ich selbst nachlesen 

greetz
SLi

PS:
Wenn Beni nicht logged, log ich auch nicht


----------



## bygones (6. Jan 2005)

mhm - toll nun versaut Beni noch die ganze Jugend  :lol: 

der reine printStack hat den Nachteil, dass er nach beenden des Programmes nicht mehr vorhanden ist. Stell dir vor jemand nutzt dein Programm und sagt dir dann: bei stelle xyz ist nix passiert. Was machst du dann ? es mag vll eine exception geworfen worden sein, die ist aber nimmer zu sehen.

Mit loggen bezeichnet man das mitschreiben von Informationen. Meist für exceptions, aber man kann auch für andere informationen es nutzen. wohin geloggt wird hängt von dir ab (meist ind logfiles, aber db wäre auch möglich).

Tritt ein Fehler auf wird dieser geloggt. du schaust dir dann das logfile an und siehst genau wo und was für ein fehler auftrat....


----------



## sliwalker (6. Jan 2005)

Hoi,

klingt schon sehr logisch und brauchbar.
Aber ich denke sowas wird erst nötig, wenn die Programme auch wichtige Sachen machen.
Im Moment ist das noch nicht wirklich der Fall.

Ich werd mir das trotzdem mal anschauen.
Denke die API hilft, denn hier in der FAQ steht noch nix.
Und die meisten Beiträge im Forum beziehen sich auf Log4J.

Wenn wer ne Site weiß, auf der der Logger-Eures-Vertrauens beschrieben ist :roll: , ich würd mich freuen.

greetz
SLi


----------



## bygones (6. Jan 2005)

sliwalker hat gesagt.:
			
		

> Wenn wer ne Site weiß, auf der der Logger-Eures-Vertrauens beschrieben ist :roll: , ich würd mich freuen.


gerne... http://java.sun.com/j2se/1.5.0/docs/api/java/util/logging/Logger.html


----------



## stev.glasow (6. Jan 2005)

Hier gibt es sonst noch einen kurzen Einstieg http://www.pss-it.de/java/
Aber nicht beschweren habe es nicht gelesen.


----------



## sliwalker (6. Jan 2005)

debac, you are my hero! :autsch: 

Man kommt zwar gerade beim programmieren nicht um englisch herum,
aber so wie ich kann, lese ich lieber deutsch.

Das man in der API alles findet ist mir klar.

Und das man von jemandem erwarten kann, dass er die API kennt, wenn er sich mit 
so fortgeschrittenen Themen wie logging oder Observern ( die debac mir ja auch beantwortet hat)
beschäftigt, ist doch eigentlich auch klar, oder?

Dann sag mir nur mal warum es dieses Forum überhaupt gibt,
wenn nur auf die API verwiesen wird?


Ich lerne hingegen daraus, dass ich meine Fragen demnächst präziser stellen muss,
damit ich die Antworten bekomme, die ich mir erhoffe.

greetz
SLi

PS: Thx @ stevg.


----------



## Jaraz (6. Jan 2005)

sliwalker hat gesagt.:
			
		

> Wenn wer ne Site weiß, auf der der Logger-Eures-Vertrauens beschrieben ist :roll: , ich würd mich freuen.



http://www.javacore.de/tutorials/schnelle/log4jmanual.pdf

Gruß Jaraz


----------



## Student (7. Jan 2005)

zu printStackTrace() .. ähem .. im JDK 1.5.0 gar nicht mehr vorhanden?
hab ich jedenfalls in unserer intranet-doku gefunden .. wollte mal wissen, ob das stimmt?

grüße ben.


----------



## bygones (7. Jan 2005)

falsche Info...

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html#printStackTrace()


----------



## Student (7. Jan 2005)

werde ich mal anprangern ;-)
danke.


----------

