使用 Weblogic 11g,我做了以下事情:
1 创建了 log4j.xml 文件,我在其中创建了一个新的附加程序:
<appender name="WEBLOGIC" class="weblogic.logging.log4j.ServerLoggingAppender"> <param name="Threshold" value="ERROR"/> </appender> <root> <priority value="WARN"/> <appender-ref ref="CONSOLE"/> <appender-ref ref="FILE"/> <appender-ref ref="WEBLOGIC"/> </root>
2 使用以下更改更新了 ${DOMAIN_HOME}/bin/setDomainEnv.sh 脚本:
LOG4J_CONFIG_FILE="${DOMAIN_HOME}/config/log4j.xml" if [ "${LOG4J_CONFIG_FILE}" != "" ] ; then JAVA_PROPERTIES="${JAVA_PROPERTIES} Dlog4j.configuration=file:${LOG4J_CONFIG_FILE}" export JAVA_PROPERTIES fi JAVA_OPTIONS="${JAVA_OPTIONS} ${JAVA_PROPERTIES} -Dweblogic.log.Log4jLoggingEnabled=true -Dwlw.iterativeDev=${iterativeDevFlag} -Dwlw.testConsole=${testConsoleFlag} -Dwlw.logErrorsToConsole=${logErrorsToConsoleFlag}"
3 将 log4j jar 复制到 domain/lib
cp ./wlserver_10.3/server/lib/wllog4j.jar user_projects/domains/my_domain/lib/
cp ./wlserver_10.3/server/lib/consoleapp/APP-INF/lib/log4j-1.2.8.jar user_projects/domains/my_domain/lib/
4 启动 AdminServer,但出现此错误:
java.lang.ClassCastException:weblogic.logging.log4j.ServerLoggingAppender 不能转换为 org.apache.log4j.Appender