Community
Participate
Working Groups
Add support for logging frameworks other than Eclipse and Java-Logging. Specifically we need to support log4j. original German description: Momentan unterstützt Eclipse Scout nur Eclipse- oder Java-Logging (JUL). Wir setzen jedoch log4j ein, wofür es noch keine Unterstützung bzw. Lösung gibt. Nun gibt es folgende 3 Varianten: 1. Dem Java-Root-Logger ein Handler hinzufügen, welcher alle Log-Statements 1:1 an die log4j-Logger weiterleitet: jul -> log4j 2. Umweg via slf4j: jul -> slf4j -> log4j 3. Zusätzliche Strategy für den ScoutLogManager (Erweiterung von Scout) - log4j: Dabei würden alle Log-Statements direkt an log4j gegeben – ohne Umwege über andere Logging-Frameworks. Sicher die performanteste Lösung, jedoch nur für log4j zu gebrauchen. - slf4j: Hierbei würde der Weg via slf4j direkt zu einem entsprechenden Logging-Framework gehen. Ein grosser Vorteil ist hier die Möglichkeit irgend ein von slf4j unterstütztes Logging-Framework (logback, log4j, jcl, …) zu verwenden. Die Varianten 1 und 2 bringen jedoch einen gewissen Performanceverlust mit sich, da das JUL-Log-Level auf TRACE gesetzt werden muss. Ansonsten werden nicht alle Log-Statements weitergeleitet (siehe dazu auch http://www.slf4j.org/legacy.html#jul-to-slf4j). Zusammen mit Andi Bur sind wir dazu gekommen, dass Variante 3 die beste Lösung wäre. Da wir jedoch in Scout Abhängigkeiten zu log4j bzw. slf4j vermeiden möchten, ist die direkte Einbindung nicht sinnvoll. Daher haben wir uns angedacht, dass das Property „org.eclipse.scout.log“ zusätzlich zu den bestehenden Strategien „java“ und „eclipse“ auch mit einem Full-Qualified-Klassennamen umgehen kann. Dieser würde auf einen projektspezifischen Logger-Wrapper (welcher von AbstractScoutLogger erbt) verweisen, womit dann das eingesetzte Logging-Framework direkt über diesen Wrapper angesprochen werden kann – ohne den Umweg via den JUL zu gehen. Um den Projekten dann einen weiteren Mehrwert zu bieten, wären zum Beispiel fertige Lösungen für log4j oder slf4j als Fragmente denkbar. Links zu Variante 1: http://shrubbery.mynetgear.net/c/display/W/Routing%2Bjava.util.logging%2Bmessages%2Bto%2BLog4J?rdfrom=http%3A%2F%2Fshrubbery.mynetgear.net%2Fw%2Findex.php%3Ftitle%3DRouting_java.util.logging_messages_to_Log4J%26redirect%3Dno http://wiki.apache.org/myfaces/Trinidad_and_Common_Logging
fixed on 28.4.11, #101117
shipped with eclipse scout 3.7.0