首页 文章

如何在JBoss 7中查看部署失败的原因?

提问于
浏览
0

我正在使用JBoss 7.1.3.Final和Java 6.我正在尝试部署我的爆炸式Web应用程序项目,我得到了这个非描述性的错误......

15:26:51,187 INFO  [stdout] (MSC service thread 1-1) [DEBUG,EntityManagerFactoryRegistry] Remove: name=default
15:26:51,245 INFO  [javax.enterprise.resource.webcontainer.jsf.config] (MSC service thread 1-1) Initializing Mojarra 2.1.11-jbossorg-3 20120815-1456 for context '/myproject'
15:26:56,631 ERROR [org.apache.catalina.core.StandardContext] (MSC service thread 1-1) Error listenerStart
15:26:56,641 ERROR [org.apache.catalina.core.StandardContext] (MSC service thread 1-1) Context [/myproject] startup failed due to previous errors
15:26:56,671 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC00001: Failed to start service jboss.web.deployment.default-host./myproject: org.jboss.msc.service.StartException in service jboss.web.deployment.default-host./myproject: JBAS018040: Failed to start context
        at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:94)
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) [rt.jar:1.6.0_65]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) [rt.jar:1.6.0_65]
        at java.lang.Thread.run(Thread.java:680) [rt.jar:1.6.0_65]

15:26:56,922 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 28) JBAS018559: Deployed "myproject.war"
15:26:56,923 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 28) JBAS018559: Deployed "jenkins.war"
15:26:56,925 INFO  [org.jboss.as.controller] (Controller Boot Thread) JBAS014774: Service status report

JBAS014777:无法启动的服务:服务jboss.web.deployment.default-host./myproject:服务jboss.web.deployment.default-host./myproject中的服务jboss.web.deployment.msf.service.StartException:JBAS018040:失败开始上下文

在此错误之前或之后没有其他堆栈跟踪 . 我需要什么样的日志记录才能获得有关部署失败原因的更多信息?我在WEB-INF / classes文件中有这个log4j.properties ...

# Global logging configuration
log4j.rootLogger=DEBUG, stdout

# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.conversionPattern=[%p,%c{1}] %m%n

# Rolling log file output...
log4j.appender.fileout=org.apache.log4j.FileAppender
log4j.appender.fileout.File=myproject.log
log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
log4j.appender.fileout.layout.conversionPattern=%d{ABSOLUTE} %5p %c{1},%t:%L - %m%n
log4j.appender.fileout.Append=false

# package specific logging
log4j.logger.net.sf.ehcache.distribution.RMICachePeer=DEBUG
log4j.logger.org.springframework.security=DEBUG
log4j.logger.org.hibernate=ERROR
log4j.logger.org.collegeboard.springboard.myproject.mvc.listener=DEBUG
log4j.logger.org.collegeboard.springboard.core.security=DEBUG

以下是我在$ JBOSS_HOME / standalone / configuration / standlone.xml文件中设置日志记录的方法......

<subsystem xmlns="urn:jboss:domain:logging:1.1">
        <console-handler name="CONSOLE">
            <level name="INFO"/>
            <formatter>
                <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
            </formatter>
        </console-handler>
        <periodic-rotating-file-handler name="FILE">
            <formatter>
                <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
            </formatter>
            <file relative-to="jboss.server.log.dir" path="server.log"/>
            <suffix value=".yyyy-MM-dd"/>
            <append value="true"/>
        </periodic-rotating-file-handler>
        <logger category="com.arjuna">
            <level name="WARN"/>
        </logger>
        <logger category="org.apache.tomcat.util.modeler">
            <level name="WARN"/>
        </logger>
        <logger category="sun.rmi">
            <level name="WARN"/>
        </logger>
        <logger category="jacorb">
            <level name="WARN"/>
        </logger>
        <logger category="jacorb.config">
            <level name="ERROR"/>
        </logger>
        <root-logger>
            <level name="INFO"/>
            <handlers>
                <handler name="CONSOLE"/>
                <handler name="FILE"/>
            </handlers>
        </root-logger>
    </subsystem>

2 回答

  • 0

    在standalone.xml文件中,将日志级别更改为DEBUG -

    <console-handler name="CONSOLE">
            <level name="DEBUG"/>
            <formatter>
                <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
            </formatter>
    </console-handler>
    

    您还需要在此处进行相应的更改 -

    <root-logger>
                <level name="DEBUG"/>
                <handlers>
                    <handler name="CONSOLE"/>
                    <handler name="FILE"/>
                </handlers>
    </root-logger>
    

    这将为您提供log.DEBUG级别堆栈跟踪 . 您还可以添加像这样的新 Logger 类别 -

    <logger category="org.jboss">
                <level name="INFO"/>
    </logger>
    
  • 0

    尝试添加此JVM参数:

    -Dorg.jboss.as.logging.per-deployment=false
    

相关问题