You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by be...@apache.org on 2006/10/27 22:42:58 UTC
svn commit: r468529 - in /james/server/sandbox/spring-integration/src/main:
config/ java/org/apache/james/container/spring/adaptor/
java/org/apache/james/container/spring/logging/
Author: berndf
Date: Fri Oct 27 13:42:57 2006
New Revision: 468529
URL: http://svn.apache.org/viewvc?view=rev&rev=468529
Log:
activate last James component
make customizing logging more simple
Added:
james/server/sandbox/spring-integration/src/main/java/org/apache/james/container/spring/adaptor/LoggingBridge.java
- copied, changed from r468459, james/server/sandbox/spring-integration/src/main/java/org/apache/james/container/spring/adaptor/LoggerAdaptor.java
james/server/sandbox/spring-integration/src/main/java/org/apache/james/container/spring/logging/LogWorker.java
james/server/sandbox/spring-integration/src/main/java/org/apache/james/container/spring/logging/SystemConsoleLogWorker.java
Removed:
james/server/sandbox/spring-integration/src/main/java/org/apache/james/container/spring/adaptor/LoggerAdaptor.java
Modified:
james/server/sandbox/spring-integration/src/main/config/spring-config.xml
Modified: james/server/sandbox/spring-integration/src/main/config/spring-config.xml
URL: http://svn.apache.org/viewvc/james/server/sandbox/spring-integration/src/main/config/spring-config.xml?view=diff&rev=468529&r1=468528&r2=468529
==============================================================================
--- james/server/sandbox/spring-integration/src/main/config/spring-config.xml (original)
+++ james/server/sandbox/spring-integration/src/main/config/spring-config.xml Fri Oct 27 13:42:57 2006
@@ -30,16 +30,18 @@
<bean id="serviceManager" class="org.apache.james.container.spring.adaptor.ServiceManagerBridge" />
- <bean name="logger, loggerMap" class="org.apache.james.container.spring.adaptor.LoggerAdaptor" />
+ <bean name="logWorker" class="org.apache.james.container.spring.logging.SystemConsoleLogWorker" />
+
+ <bean name="logger, loggerMap" class="org.apache.james.container.spring.adaptor.LoggingBridge" >
+ <property name="logWorker" ref="logWorker" />
+ </bean>
<bean id="configurationProvider" class="org.apache.james.container.spring.adaptor.AvalonConfigurationFileProvider" >
- <property name="configurationPath"
- value="src/main/config/james-config.xml" />
+ <property name="configurationPath" value="src/main/config/james-config.xml" />
</bean>
<bean id="avalonContext" class="org.apache.james.container.spring.adaptor.AvalonContext" >
- <property name="applicationHome"
- value="data" />
+ <property name="applicationHome" value="data" />
</bean>
@@ -82,40 +84,31 @@
<!-- James components with dependencies to other components -->
- <bean name="James" class="org.apache.james.James" />
+ <bean name="James" class="org.apache.james.James" />
- <bean name="dnsserver, org.apache.james.services.DNSServer" class="org.apache.james.dnsserver.DNSServer" />
+ <bean name="dnsserver, org.apache.james.services.DNSServer" class="org.apache.james.dnsserver.DNSServer" />
<bean name="matcherpackages" class="org.apache.james.transport.JamesMatcherLoader" />
<bean name="mailetpackages" class="org.apache.james.transport.JamesMailetLoader" />
- <bean name="remotemanager" class="org.apache.james.remotemanager.RemoteManager" />
-
-
- <bean name="pop3server" class="org.apache.james.pop3server.POP3Server" />
+ <bean name="remotemanager" class="org.apache.james.remotemanager.RemoteManager" />
- <bean name="smtpserver" class="org.apache.james.smtpserver.SMTPServer" />
+ <bean name="pop3server" class="org.apache.james.pop3server.POP3Server" />
- <bean name="nntpserver" class="org.apache.james.nntpserver.NNTPServer" />
+ <bean name="smtpserver" class="org.apache.james.smtpserver.SMTPServer" />
+ <bean name="nntpserver" class="org.apache.james.nntpserver.NNTPServer" />
- <bean name="nntp-repository" class="org.apache.james.nntpserver.repository.NNTPRepositoryImpl" />
-<!--
+ <bean name="nntp-repository" class="org.apache.james.nntpserver.repository.NNTPRepositoryImpl" />
- <block name="fetchmail" class="org.apache.james.fetchmail.FetchScheduler" >
- <provide name="scheduler"
- role="org.apache.avalon.cornerstone.services.scheduler.TimeScheduler"/>
- <provide name="James" role="org.apache.james.services.MailServer"/>
- <provide name="localusersrepository" role="org.apache.james.services.UsersRepository"/>
- </block>
--->
+ <bean name="fetchmail" class="org.apache.james.fetchmail.FetchScheduler" />
- <bean name="spoolrepository" class="org.apache.james.mailrepository.MailStoreSpoolRepository" />
+ <bean name="spoolrepository" class="org.apache.james.mailrepository.MailStoreSpoolRepository" />
- <bean name="users-store" class="org.apache.james.core.AvalonUsersStore" />
+ <bean name="users-store" class="org.apache.james.core.AvalonUsersStore" />
- <bean name="localusersrepository" class="org.apache.james.core.LocalUsersRepository" />
+ <bean name="localusersrepository" class="org.apache.james.core.LocalUsersRepository" />
<bean name="spoolmanager" class="org.apache.james.transport.JamesSpoolManager" />
Copied: james/server/sandbox/spring-integration/src/main/java/org/apache/james/container/spring/adaptor/LoggingBridge.java (from r468459, james/server/sandbox/spring-integration/src/main/java/org/apache/james/container/spring/adaptor/LoggerAdaptor.java)
URL: http://svn.apache.org/viewvc/james/server/sandbox/spring-integration/src/main/java/org/apache/james/container/spring/adaptor/LoggingBridge.java?view=diff&rev=468529&p1=james/server/sandbox/spring-integration/src/main/java/org/apache/james/container/spring/adaptor/LoggerAdaptor.java&r1=468459&p2=james/server/sandbox/spring-integration/src/main/java/org/apache/james/container/spring/adaptor/LoggingBridge.java&r2=468529
==============================================================================
--- james/server/sandbox/spring-integration/src/main/java/org/apache/james/container/spring/adaptor/LoggerAdaptor.java (original)
+++ james/server/sandbox/spring-integration/src/main/java/org/apache/james/container/spring/adaptor/LoggingBridge.java Fri Oct 27 13:42:57 2006
@@ -20,21 +20,47 @@
import org.apache.avalon.framework.logger.Logger;
import org.apache.james.container.spring.logging.LoggerToComponentMapper;
+import org.apache.james.container.spring.logging.LogWorker;
+
+/**
+ * bridge to act as a Avalon logger but effectively forward to a some other logging service
+ */
+public class LoggingBridge implements Logger, LoggerToComponentMapper {
+ public static final String LEVEL_DEBUG = "debug";
+ public static final String LEVEL_INFO = "info";
+ public static final String LEVEL_WARN = "warn";
+ public static final String LEVEL_ERROR = "error";
+ public static final String LEVEL_FATAL = "fatal";
-public class LoggerAdaptor implements Logger, LoggerToComponentMapper {
private boolean m_debugEnabled = true;
+ private LogWorker logWorker;
+
+ public void setLogWorker(LogWorker logWorker) {
+ this.logWorker = logWorker;
+ }
public Logger getComponentLogger(String beanName) {
- return this; // every bean gets the same logger
+ return this; // every bean gets the same logger, could be more finegrained
+ }
+
+ protected void forwardLogMessage(String level, String message) {
+ logWorker.logMessage(level, message);
+ }
+
+ protected void forwardLogException(String level, String message, Throwable exception) {
+ logWorker.logException(level, message, exception);
+ }
+
+ public org.apache.avalon.framework.logger.Logger getChildLogger(java.lang.String string) {
+ return this;
}
public void debug(java.lang.String string) {
- System.out.println(string);
+ forwardLogMessage(LEVEL_DEBUG, string);
}
public void debug(java.lang.String string, java.lang.Throwable throwable) {
- System.out.println(string + throwable.toString());
- throwable.printStackTrace();
+ forwardLogException(LEVEL_DEBUG, string, throwable);
}
public boolean isDebugEnabled() {
@@ -46,12 +72,11 @@
}
public void info(java.lang.String string) {
- System.out.println(string);
+ forwardLogMessage(LEVEL_INFO, string);
}
public void info(java.lang.String string, java.lang.Throwable throwable) {
- System.out.println(string + throwable.toString());
- throwable.printStackTrace();
+ forwardLogException(LEVEL_INFO, string, throwable);
}
public boolean isInfoEnabled() {
@@ -59,12 +84,11 @@
}
public void warn(java.lang.String string) {
- System.out.println(string);
+ forwardLogMessage(LEVEL_WARN, string);
}
public void warn(java.lang.String string, java.lang.Throwable throwable) {
- System.out.println(string + throwable.toString());
- throwable.printStackTrace();
+ forwardLogException(LEVEL_WARN, string, throwable);
}
public boolean isWarnEnabled() {
@@ -72,12 +96,11 @@
}
public void error(java.lang.String string) {
- System.out.println(string);
+ forwardLogMessage(LEVEL_ERROR, string);
}
public void error(java.lang.String string, java.lang.Throwable throwable) {
- System.out.println(string + throwable.toString());
- throwable.printStackTrace();
+ forwardLogException(LEVEL_ERROR, string, throwable);
}
public boolean isErrorEnabled() {
@@ -85,20 +108,16 @@
}
public void fatalError(java.lang.String string) {
- System.out.println(string);
+ forwardLogMessage(LEVEL_FATAL, string);
}
public void fatalError(java.lang.String string, java.lang.Throwable throwable) {
- System.out.println(string + throwable.toString());
- throwable.printStackTrace();
+ forwardLogException(LEVEL_FATAL, string, throwable);
}
public boolean isFatalErrorEnabled() {
return true;
}
- public org.apache.avalon.framework.logger.Logger getChildLogger(java.lang.String string) {
- return this;
- }
}
Added: james/server/sandbox/spring-integration/src/main/java/org/apache/james/container/spring/logging/LogWorker.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/spring-integration/src/main/java/org/apache/james/container/spring/logging/LogWorker.java?view=auto&rev=468529
==============================================================================
--- james/server/sandbox/spring-integration/src/main/java/org/apache/james/container/spring/logging/LogWorker.java (added)
+++ james/server/sandbox/spring-integration/src/main/java/org/apache/james/container/spring/logging/LogWorker.java Fri Oct 27 13:42:57 2006
@@ -0,0 +1,30 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+package org.apache.james.container.spring.logging;
+
+/**
+ * performs the actual logging which is getting forwarded from avalon component
+ */
+public interface LogWorker {
+
+ void logMessage(String level, String message);
+
+ void logException(String level, String message, Throwable exception);
+
+}
Added: james/server/sandbox/spring-integration/src/main/java/org/apache/james/container/spring/logging/SystemConsoleLogWorker.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/spring-integration/src/main/java/org/apache/james/container/spring/logging/SystemConsoleLogWorker.java?view=auto&rev=468529
==============================================================================
--- james/server/sandbox/spring-integration/src/main/java/org/apache/james/container/spring/logging/SystemConsoleLogWorker.java (added)
+++ james/server/sandbox/spring-integration/src/main/java/org/apache/james/container/spring/logging/SystemConsoleLogWorker.java Fri Oct 27 13:42:57 2006
@@ -0,0 +1,34 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+package org.apache.james.container.spring.logging;
+
+/**
+ * logs forwareded logging messages to System console, the most simple form of a LogWorker
+ */
+public class SystemConsoleLogWorker implements LogWorker {
+
+ public void logMessage(String level, String message) {
+ System.out.println(message);
+ }
+
+ public void logException(String level, String message, Throwable exception) {
+ System.out.println(message + exception.toString());
+ exception.printStackTrace();
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org