log4net
-
Hallo ,
kennt sich einer mit log4net aus ? Ich möchte den RemotingAppender.IRemoteLoggingSink implementieren. Wie funktioniert das mit dieser LogEvents Methode. Ich implementier die und dann ? Brauch ich auch nee Instanz von meiner MyRemoteLoggingSink Klasse ? Naja wenn jemand das schon mal verwendet hat, bin für jede Hilfe dankbar.
-
Es gibt hier doch bestimmt Leute die schon Log4net benutzt haben. Ich implementiere die Methode logEvents des Interface RemotingAppender.IRemoteLoggingSink aber sie wird nie aufgerufen.
-
Hier gibt es wohl echt keinen der log4net kennt
-
Echt keiner da der Log4net kennt ?????
Kurze Antwort wäre hilfreich
Sonst wäre die Option das ganze in eine andere rubrik zu verlegen
-
Was hat deine Frage bitte mit der allgemeinen Verwendung von log4net zu tun (ist wohl schon recht speziell), und warum hast du nicht zuerst einmal eine Suchmaschine gefragt? Schon auf der ersten Ergebnisseite hatte ich kurze Codebeispiele gefunden (eins davon war der erste Treffer).
-
Hallo,
ich benutze gerade log4net und frage mich warum
private static readonly ILog log = LogManager.GetLogger (System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
die Variable unbedingt statisch sein muss ? Noch dazu ist sie ja private , wird nur in der Klasse aufgerufen.
loggt man in der Klasse was macht man z.B.
log.Info("Logge die Eingabe");
-
Sie muss statisch sein, wenn man aus statischen Methoden darauf zugreifen will.
Grundsätzlich kannst du aber natürlich auch überall statt der VariableLogManager.GetLogger (System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)
schreiben.Eine Variable zu verwenden ist halt schöner, und es ist gleichzeitig ne Optimierung, da
GetLogger
nicht mehrfach ausgeführt werden muss.
Eine statische Variable nimmt man - auch wenn man gar keine statischen Methoden hat - deswegen, weilGetLogger
mitDeclaringType
in einer Klasse ja sowieso immer den selben Logger zurückgibt - egal "für" welches Objekt man es aufruft.D.h. statt pro (im Extremfall) 1x
GetLogger
pro Log-Ausgabe macht man so nur mehr 1xGetLogger
pro Klasse.
-
static readonly ILog log
wird also nur 1 mal initialisiert. Das ist dann praktisch.
-
Peter_Mueller schrieb:
static readonly ILog log
wird also nur 1 mal initialisiert.
Er. Ja.
Weisst du was das
static
an dieser Stelle bedeutet?
Und was initialisieren bedeutet?
-
statisch heisst dass eine Variable nur 1 mal pro Klasse vorhanden ist. Und es wird nur einmal pro Klasse initialisiert. Deswegen macht man z.B. einen counter statisch um Aufrufe zu zählen.
-
Dann frage ich mich wieso du dich gefragt hast warum man die Variable
static
macht
-
Frag ich mich jetzt auch *gg* . Hatte den Fall noch nie .
-
ich möchte sobald sich was in einer Textbox ändert das sofort in die Datei schreiben. Wenn ich das ganze ins TextBox_Changed event reinmache spielt meine Anwendung komplett verrückt. Aber wie mach ich das am besten...
Das hier führt zur Katastrophe...
private void txtOutput_TextChanged(object sender, EventArgs e) { log.Info(txtOutput.Text); }
-
Keiner der sich mit log4net auskennt ?