Wie sollte ich am besten eine zentrale Protokollierung (oder vielleicht 2, jeweils exklusiv für Test oder Prod) Server einrichten:Wie richte ich einen zentralen Logging-Server ein und teile Logging-Ereignisse von Test und Produktion?
Ich muss mir keine Gedanken über den Code machen, der auf Bedingungen verweist, die versehentlich Prod Fehler in den Produktionsfehler log4j Bus. Mit anderen Worten, möchte ich nicht den Code haben, wie:
if (!production)
logWrapper.logTest(error);
else
logWrapper.logProd(error);
ich das nicht will, weil es eng Paare etwas wie den Servernamen, Referenzen, und jetzt kann der Code arbeiten nur auf einem der zwei Servernamen: prod und test. Ich kann dies auch nicht deklarativ in einer Konfiguration festlegen, da ein Entwickler dies wahrscheinlich nicht korrekt festlegt und die Logging-Repositories verschmutzt. Irgendwelche Vorschläge?
ein paar Details, einige gehen, um in nicht-Faktor, aber ich Liste sie trotzdem:
- nur Web-Anwendungen, läuft auf Oracle Application Server 10.1.3.4 jetzt und in Zukunft Oracle WebLogic
- wird wie in diesem Beispiel ein zentraler Protokollserver verwendet: http://timarcher.com/?q=node/10 ... AUSSER dass der zentrale Server Textdateien protokolliert und keine E-Mails versendet!
- Wird log4j verwenden und vielleicht wird es über slf4j gewickelt werden (die slf4j Art respektlos ist es zu erwähnen, zum größten Teil so ignorieren ..)
Dann muss man vor Ort sein überprüfen und sicherstellen, dass die Config nie falsch eingestellt ... – Zombies