Erstellen einer neuen Version meiner RESTful Service-Architektur mit JEE 7, Bereitstellung auf einer Wildfly 9-Instanz, ich frage mich, ob es eine kluge Möglichkeit ist, ein Protokollsystem zu erstellen, können Sie einige Muster vorschlagen? Danke vielmals.Logging besten Ansatz mit CDI
Antwort
Ich verwende einen einfachen Hersteller mit SLF4J-Schnittstelle für ein JavaEE 7 JAX-RS-Projekt.
import javax.enterprise.inject.Produces;
import javax.enterprise.inject.spi.InjectionPoint;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LoggerProducer
{
@Produces
public Logger getLogger(final InjectionPoint ip)
{
return LoggerFactory.getLogger(ip.getMember().getDeclaringClass());
}
}
Die Verwendung ist recht bequem mit der Injektion.
@Inject
private Logger logger;
Und die Implementierung kann leicht geändert werden, ohne Auswirkungen auf Business-Klassen. Da die Implementierung slf4j-simple für mich ausreichend ist, aber wenn Sie mehr fortgeschrittenes Zeug brauchen, würde ich Logback wie bereits vorgeschlagen oder log4j 2 betrachten.
Kühl. Das ist der grundlegende Ansatz, ich dachte an etwas fortgeschritteneres, vielleicht mit dem Beobachter Muster, aber nicht wissen, ob das wäre nicht über Engineering –
Ich persönlich versuche, die Dinge so einfach wie möglich zu halten (KIS). Können Sie bitte darauf hinweisen, welche Einschränkungen für Sie bestehen, dass Sie etwas Fortgeschritteneres brauchen? – simdevmon
- 1. .NET Liste besten Ansatz
- 2. Wiederverwenden von gemeinsamen Funktionen mit dem besten richtigen Ansatz C#
- 3. Restricted Generika mit CDI
- 4. CDI-Tests mit Arquillian
- 5. Spring Application Datenbank Zeile Ebene Sicherheit besten Ansatz
- 6. Mit Jersey 2.1 mit CDI
- 7. Inject Schnittstelle Implementierung mit CDI
- 8. DeltaSpike benutzerdefinierte ConfigSource mit CDI
- 9. camel-datei komponentenfilter mit cdi
- 10. Logging mit mehreren Parametern
- 11. Distributed Logging mit Gerinne
- 12. Logging mit Vala
- 13. Logging Spring mit Log4j2
- 14. JMeter - Logging mit PopUp
- 15. Slf4j Logging-Syntax
- 16. Java Logging - Wrapper?
- 17. Objektorientierter Ansatz mit AngularJS
- 18. Engpass mit Sockets Ansatz?
- 19. CDI @Dependent und @New
- 20. CDI Dynamische Bean Instanzen
- 21. CDI: @alternative vs @Qualifiers
- 22. CDI + tomcat Kompatibilität
- 23. CDI mehrdeutige Abhängigkeiten
- 24. CDI als Fabrik?
- 25. CDI-Ersatz für @ManagedProperty
- 26. CDI Mehrdeutige Abhängigkeit mit @Produces - warum?
- 27. EJB @DependsOn zusammen mit CDI Instanz nicht
- 28. MVP mit CDI; Kreisförmige Abhängigkeit vermeiden
- 29. Abhängigkeit inject Anfrageparameter mit CDI und JSF2
- 30. Nicht verwaltete Klassen mit CDI einsperren?
Ich würde vorschlagen, dass Sie [logback] (http://logback.qos.ch) und in Bezug auf die Muster, schauen Sie sich die [logback layouts 'Dokumentation] (http://logback.qos.ch/manual/layouts.html) an und erstellen Sie diejenige, die Ihren Bedürfnissen entspricht. – aribeiro