0

カスタム loggin を実現するために、java.util.logging.LogManager をオーバーライドしています。ここで、「java.util.logging.manager」システム プロパティを CustomLogManager クラスにポイントする必要があります。

jdev では、プロジェクトのプロパティで Java オプションを設定することで可能になります。"-Djava.util.logging.manager=project8.CustomLogManager" .

startWebLogic.sh を編集し、同じものを追加しました。

# START WEBLOGIC

echo "starting weblogic with Java version:"

${JAVA_HOME}/bin/java ${JAVA_VM} -version

if [ "${WLS_REDIRECT_LOG}" = "" ] ; then
    echo "Starting WLS with line:"
    echo "${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Djava.util.logging.manager=project8.CustomLogManager -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS}"

しかし、管理サーバーの起動中に、このエラーが発生しています..

 weblogic.Server
Could not load Logmanager "project8.CustomLogManager "
java.lang.ClassNotFoundException: project8.CustomLogManager 
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:303)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at java.util.logging.LogManager$1.run(LogManager.java:167)
        at java.util.logging.LogManager.<clinit>(LogManager.java:156)
        at java.util.logging.Logger.getAnonymousLogger(Logger.java:342)
        at weblogic.kernel.KernelLogManager.createClientLogger(KernelLogManager.java:44)
        at weblogic.kernel.KernelLogManager.access$000(KernelLogManager.java:17)
        at weblogic.kernel.KernelLogManager$LoggerMaker.<clinit>(KernelLogManager.java:20)
        at weblogic.kernel.KernelLogManager.getLogger(KernelLogManager.java:26)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at weblogic.logging.MessageLogger.log(MessageLogger.java:96)
        at weblogic.logging.MessageLogger.log(MessageLogger.java:112)
        at weblogic.logging.WLMessageLogger.log(WLMessageLogger.java:53)
        at weblogic.kernel.T3SrvrLogger.logDomainLibPath(T3SrvrLogger.java:2440)
        at weblogic.Server.appendToClassPath(Server.java:129)
        at weblogic.Server.intializeClassloader(Server.java:140)
        at weblogic.Server.main(Server.java:67)

しかし同時に、その直後に CustomLogManager.jar がインポートされていることがわかります。/domain-folder/bin/ の下に CustomLogManager.jar があります。

<Notice> <WebLogicServer> <BEA-000395> <Following extensions directory contents added to the end of the classpath:
/export/......../CustomLogManager.jar

ClassNotFound エラーを回避する方法を教えてください。

前もって感謝します

4

1 に答える 1

1

WEBLOGIC_CLASSPATH に CustomLogManager.jar を含めます。

于 2011-05-04T21:23:45.207 に答える