-
1. Re: How can I show my exception in console
wdfink Nov 26, 2012 5:36 AM (in response to nuhsoah)Hi Eric,
do you see the message in the server.log?
How do you start the server, which OS?
-
2. Re: How can I show my exception in console
erasmomarciano Nov 26, 2012 8:15 AM (in response to wdfink)You can see the Exception in Java if in your web-apps you wrote this eg.
try {
divisione = operazioni.divisione(5,0);
System.out.println("Il risultato della divisione è:" + divisione);
}
catch (Exception exc) {
System.out.println(exc);
System.out.println("Non puoi effettuare una divisione per zero");
}
-
3. Re: How can I show my exception in console
wdfink Nov 26, 2012 8:45 AM (in response to erasmomarciano)Use of system.out will not be a good idea for a server application.
There are different drawbacks with synchronisation in this case.
-
4. Re: How can I show my exception in console
erasmomarciano Nov 26, 2012 9:09 AM (in response to wdfink)Certainly.
I think so too.
is only an example, there are a lot way for to write a log file
-
5. Re: How can I show my exception in console
wdfink Nov 26, 2012 11:59 AM (in response to erasmomarciano)If so you should add a statement, otherwise it might be used as 'best practice' and the next issue is a question regarding the poor performance of the server!
-
6. Re: How can I show my exception in console
nuhsoah Nov 26, 2012 8:13 PM (in response to wdfink)Wolf-Dieter,
Sorry for my late reply. I can't see the exception server.log too. I am using win7 and I start jboss using the standalone.bat under %JBOSS_HOME%/bin. Most strangely, I can see other log messages when jboss start up. like,
09:05:47,827 INFO [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-3) Choosing bean (struts) for (com.opensymphony.xwork2.util.PatternMatcher)
09:05:47,827 INFO [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-3) Choosing bean (struts) for (org.apache.struts2.dispatcher.StaticContentLoader)
09:05:47,827 INFO [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-3) Choosing bean (struts) for (com.opensymphony.xwork2.UnknownHandlerManager)
09:05:47,827 INFO [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-3) Choosing bean (struts) for (org.apache.struts2.views.util.UrlHelper)
09:05:47,827 INFO [com.opensymphony.xwork2.config.impl.DefaultConfiguration] (MSC service thread 1-3) Overriding property struts.i18n.reload - old value: false new value: true
09:05:47,827 INFO [com.opensymphony.xwork2.config.impl.DefaultConfiguration] (MSC service thread 1-3) Overriding property struts.configuration.xml.reload - old value: false new value: true
09:05:47,827 INFO [org.apache.struts2.config.BeanSelectionProvider] (MSC service thread 1-3) Loading global messages from resource.ApplicationResource
09:05:47,844 INFO [org.apache.struts2.spring.StrutsSpringObjectFactory] (MSC service thread 1-3) Initializing Struts-Spring integration...
09:05:47,844 INFO [com.opensymphony.xwork2.spring.SpringObjectFactory] (MSC service thread 1-3) Setting autowire strategy to name
09:05:47,844 INFO [org.apache.struts2.spring.StrutsSpringObjectFactory] (MSC service thread 1-3) ... initialized Struts-Spring integration successfully
09:05:48,280 INFO [org.jboss.web] (MSC service thread 1-3) JBAS018210: Registering web context: /cynthia
09:05:48,280 INFO [org.jboss.as] (MSC service thread 1-3) JBAS015951: Admin console listening on http://127.0.0.1:9990
09:05:48,280 INFO [org.jboss.as] (MSC service thread 1-3) JBAS015874: JBoss AS 7.1.1.Final "Brontes" started in 15016ms - Started 295 of 372 services (76 services are passive or on-demand)
09:05:48,358 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: Deployed "cynthia.war"I am using spring + jpa + hibernate + struts2 in my application, and I can also see the log struts print out.
09:07:28,251 INFO [org.apache.struts2.views.velocity.VelocityManager] (http--127.0.0.1-8080-2) Initializing velocity using D:\jboss-as-7.1.1.Final\standalone\deployments\cynthia.war\WEB-INF\velocity.properties from file system
09:07:28,486 WARN [org.apache.struts2.util.TextProviderHelper] (http--127.0.0.1-8080-2) The first TextProvider in the ValueStack (org.gdis.cynthia.accesscontrol.action.LoginAction) could not locate the message resource with key 'login.user'
09:07:28,486 WARN [org.apache.struts2.util.TextProviderHelper] (http--127.0.0.1-8080-2) The default value expression 'login.user' was evaluated and did not match a property. The literal value 'login.user' will be used.
09:07:28,486 WARN [org.apache.struts2.util.TextProviderHelper] (http--127.0.0.1-8080-2) The first TextProvider in the ValueStack (org.gdis.cynthia.accesscontrol.action.LoginAction) could not locate the message resource with key 'login.login'
09:07:28,486 WARN [org.apache.struts2.util.TextProviderHelper] (http--127.0.0.1-8080-2) The default value expression 'login.login' was evaluated and did not match a property. The literal value 'login.login' will be used.But when my application throws exception, I can't see the exception log in console.
-
7. Re: How can I show my exception in console
wdfink Nov 27, 2012 4:31 AM (in response to nuhsoah)How your application code look like?
Do you log the Exception? Is it a RuntimeException?
Do you see other log messages from your application?
AFAIK a simple Exception is, depend on your code, not handled by the container and might be not logged automaticaly.
-
8. Re: How can I show my exception in console
nuhsoah Nov 28, 2012 4:11 AM (in response to wdfink)Hi Wolf,
I am using jboss 7.1.1.Final, and my application contains log4j.jar in WEB-INF/lib and log4j.properties under WEB-INF.
I found the struts2 configuration exception was sent to the front page, and the exceptions thrown out by struts2 Action could be turned on by setting the EXCEPTION interceptor. I had resolves these two issues. Now, my problem is about Hibernate4.1.6. When Hibernate exception threw, I could not see the debug log message, even I had turn down the log4j logger level to DEBUG. The following is my log4j.properties,
# Set The RootLogger
log4j.rootLogger=debug, stdout, file# Direct Log Messages To Console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p %c:%L - %m%n# Direct Log Messages To file
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=cynthia.log
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %t %5p %c{1}: - %m%n# Log Hibernate
log4j.logger.org.hibernate=debug
log4j.logger.org.hibernate.SQL=debug
log4j.logger.org.hibernate.tool.hbm2ddl=warnI had searched answer in google. When I added jboss-deployment-structure.xml under WEB-INF, some more exception message were print out. Like,
17:10:16,364 INFO [org.apache.struts2.views.velocity.VelocityManager] (http--127.0.0.1-8080-1) Initializing velocity using D:\jboss-as-7.1.1.Final\standalone\deployments\cynthia.war\WEB-INF\velocity.properties from file system
17:10:16,495 INFO [stdout] (http--127.0.0.1-8080-1) 2012-11-28 17:10:16 DEBUG com.mchange.v2.resourcepool.BasicResourcePool:1644 - trace com.mchange.v2.resourcepool.BasicResourcePool@331fd8 [managed: 3, unused: 2, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@19a274f)17:10:16,508 INFO [stdout] (http--127.0.0.1-8080-1) Hibernate: select sysmenu0_.menuId as menuId0_, sysmenu0_.description as descript2_0_, sysmenu0_.displayOrder as displayO3_0_, sysmenu0_.icon as icon0_, sysmenu0_.levelNo as levelNo0_, sysmenu0_.menuKey as menuKey0_, sysmenu0_.parentMenuId as parentMe7_0_, sysmenu0_.uri as uri0_ from sys_menu sysmenu0_
17:10:16,513 INFO [stdout] (http--127.0.0.1-8080-1) 2012-11-28 17:10:16 DEBUG com.mchange.v2.c3p0.impl.NewPooledConnection:367 - com.mchange.v2.c3p0.impl.NewPooledConnection@1786986 handling a throwable.
17:10:16,515 INFO [stdout] (http--127.0.0.1-8080-1) com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'ericchen.sys_menu' doesn't exist
17:10:16,515 INFO [stdout] (http--127.0.0.1-8080-1) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
17:10:16,515 INFO [stdout] (http--127.0.0.1-8080-1) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
17:10:16,515 INFO [stdout] (http--127.0.0.1-8080-1) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
17:10:16,518 INFO [stdout] (http--127.0.0.1-8080-1) at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
17:10:16,518 INFO [stdout] (http--127.0.0.1-8080-1) at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
17:10:16,518 INFO [stdout] (http--127.0.0.1-8080-1) at com.mysql.jdbc.Util.getInstance(Util.java:386)
17:10:16,518 INFO [stdout] (http--127.0.0.1-8080-1) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
17:10:16,518 INFO [stdout] (http--127.0.0.1-8080-1) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096)
17:10:16,518 INFO [stdout] (http--127.0.0.1-8080-1) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028)
17:10:16,520 INFO [stdout] (http--127.0.0.1-8080-1) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490)
17:10:16,520 INFO [stdout] (http--127.0.0.1-8080-1) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651)
17:10:16,520 INFO [stdout] (http--127.0.0.1-8080-1) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2734)
17:10:16,520 INFO [stdout] (http--127.0.0.1-8080-1) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
17:10:16,520 INFO [stdout] (http--127.0.0.1-8080-1) at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2322)
17:10:16,523 INFO [stdout] (http--127.0.0.1-8080-1) at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76)
17:10:16,523 INFO [stdout] (http--127.0.0.1-8080-1) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
17:10:16,523 INFO [stdout] (http--127.0.0.1-8080-1) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
17:10:16,523 INFO [stdout] (http--127.0.0.1-8080-1) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
17:10:16,523 INFO [stdout] (http--127.0.0.1-8080-1) at java.lang.reflect.Method.invoke(Method.java:597)
17:10:16,525 INFO [stdout] (http--127.0.0.1-8080-1) at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:122)
17:10:16,525 INFO [stdout] (http--127.0.0.1-8080-1) at org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81)
17:10:16,525 INFO [stdout] (http--127.0.0.1-8080-1) at $Proxy26.executeQuery(Unknown Source)
17:10:16,525 INFO [stdout] (http--127.0.0.1-8080-1) at org.hibernate.loader.Loader.getResultSet(Loader.java:1897)
17:10:16,525 INFO [stdout] (http--127.0.0.1-8080-1) at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1698)
17:10:16,525 INFO [stdout] (http--127.0.0.1-8080-1) at org.hibernate.loader.Loader.doQuery(Loader.java:832)
17:10:16,528 INFO [stdout] (http--127.0.0.1-8080-1) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:293)
17:10:16,528 INFO [stdout] (http--127.0.0.1-8080-1) at org.hibernate.loader.Loader.doList(Loader.java:2382)
17:10:16,528 INFO [stdout] (http--127.0.0.1-8080-1) at org.hibernate.loader.Loader.doList(Loader.java:2368)
17:10:16,528 INFO [stdout] (http--127.0.0.1-8080-1) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2198)
17:10:16,528 INFO [stdout] (http--127.0.0.1-8080-1) at org.hibernate.loader.Loader.list(Loader.java:2193)
17:10:16,530 INFO [stdout] (http--127.0.0.1-8080-1) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:470)
17:10:16,530 INFO [stdout] (http--127.0.0.1-8080-1) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:355)
17:10:16,530 INFO [stdout] (http--127.0.0.1-8080-1) at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:195)
17:10:16,530 INFO [stdout] (http--127.0.0.1-8080-1) at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1248)
17:10:16,530 INFO [stdout] (http--127.0.0.1-8080-1) at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)
17:10:16,530 INFO [stdout] (http--127.0.0.1-8080-1) at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:257)
17:10:16,533 INFO [stdout] (http--127.0.0.1-8080-1) at org.gdis.cynthia.core.dao.orm.DaoBaseSupport.getQueryResult(DaoBaseSupport.java:184)
17:10:16,533 INFO [stdout] (http--127.0.0.1-8080-1) at org.gdis.cynthia.core.web.dao.CrudDaoImpl.getObjectList(CrudDaoImpl.java:136)
17:10:16,533 INFO [stdout] (http--127.0.0.1-8080-1) at org.gdis.cynthia.core.web.service.CrudServiceImpl.getEntityList(CrudServiceImpl.java:80)
17:10:16,533 INFO [stdout] (http--127.0.0.1-8080-1) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
17:10:16,533 INFO [stdout] (http--127.0.0.1-8080-1) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
17:10:16,535 INFO [stdout] (http--127.0.0.1-8080-1) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
17:10:16,535 INFO [stdout] (http--127.0.0.1-8080-1) at java.lang.reflect.Method.invoke(Method.java:597)
17:10:16,535 INFO [stdout] (http--127.0.0.1-8080-1) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)
17:10:16,535 INFO [stdout] (http--127.0.0.1-8080-1) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
17:10:16,535 INFO [stdout] (http--127.0.0.1-8080-1) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
17:10:16,538 INFO [stdout] (http--127.0.0.1-8080-1) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
17:10:16,538 INFO [stdout] (http--127.0.0.1-8080-1) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
17:10:16,538 INFO [stdout] (http--127.0.0.1-8080-1) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
17:10:16,538 INFO [stdout] (http--127.0.0.1-8080-1) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
17:10:16,538 INFO [stdout] (http--127.0.0.1-8080-1) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
17:10:16,538 INFO [stdout] (http--127.0.0.1-8080-1) at $Proxy23.getEntityList(Unknown Source)
17:10:16,538 INFO [stdout] (http--127.0.0.1-8080-1) at org.gdis.cynthia.sysmanage.action.SysMenuManageAction.getListData(SysMenuManageAction.java:59)
17:10:16,538 INFO [stdout] (http--127.0.0.1-8080-1) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
17:10:16,538 INFO [stdout] (http--127.0.0.1-8080-1) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
17:10:16,538 INFO [stdout] (http--127.0.0.1-8080-1) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
17:10:16,538 INFO [stdout] (http--127.0.0.1-8080-1) at java.lang.reflect.Method.invoke(Method.java:597)
17:10:16,538 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:453)
17:10:16,538 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:292)
17:10:16,538 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:255)
17:10:16,538 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
17:10:16,538 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
17:10:16,538 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
17:10:16,538 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
17:10:16,548 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
17:10:16,548 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
17:10:16,548 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
17:10:16,548 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
17:10:16,548 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
17:10:16,548 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
17:10:16,548 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
17:10:16,548 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:236)
17:10:16,548 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
17:10:16,548 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
17:10:16,548 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:236)
17:10:16,548 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
17:10:16,548 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
17:10:16,548 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
17:10:16,548 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
17:10:16,548 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
17:10:16,558 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
17:10:16,558 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:90)
17:10:16,558 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
17:10:16,558 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
17:10:16,558 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
17:10:16,558 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
17:10:16,558 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
17:10:16,558 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
17:10:16,558 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
17:10:16,558 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
17:10:16,558 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
17:10:16,558 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
17:10:16,558 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
17:10:16,558 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
17:10:16,568 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
17:10:16,568 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
17:10:16,568 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
17:10:16,568 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
17:10:16,568 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:192)
17:10:16,568 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
17:10:16,568 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
17:10:16,568 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
17:10:16,568 INFO [stdout] (http--127.0.0.1-8080-1) at org.gdis.cynthia.core.web.CrudInterceptor.intercept(CrudInterceptor.java:27)
17:10:16,568 INFO [stdout] (http--127.0.0.1-8080-1) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
17:10:16,568 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
17:10:16,568 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:511)
17:10:16,568 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
17:10:16,568 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
17:10:16,568 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
17:10:16,568 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
17:10:16,568 INFO [stdout] (http--127.0.0.1-8080-1) at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:147)
17:10:16,568 INFO [stdout] (http--127.0.0.1-8080-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
17:10:16,568 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
17:10:16,578 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
17:10:16,578 INFO [stdout] (http--127.0.0.1-8080-1) at org.gdis.cynthia.init.web.AuthenticationFilter.doFilterInternal(AuthenticationFilter.java:27)
17:10:16,578 INFO [stdout] (http--127.0.0.1-8080-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
17:10:16,578 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
17:10:16,578 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
17:10:16,578 INFO [stdout] (http--127.0.0.1-8080-1) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
17:10:16,578 INFO [stdout] (http--127.0.0.1-8080-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
17:10:16,578 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
17:10:16,578 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
17:10:16,578 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
17:10:16,578 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
17:10:16,578 INFO [stdout] (http--127.0.0.1-8080-1) at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
17:10:16,578 INFO [stdout] (http--127.0.0.1-8080-1) at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
17:10:16,578 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
17:10:16,578 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
17:10:16,578 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
17:10:16,578 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
17:10:16,578 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
17:10:16,578 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
17:10:16,578 INFO [stdout] (http--127.0.0.1-8080-1) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
17:10:16,588 INFO [stdout] (http--127.0.0.1-8080-1) at java.lang.Thread.run(Thread.java:662)
-
9. Re: How can I show my exception in console
nuhsoah Nov 28, 2012 4:15 AM (in response to nuhsoah)The following is my jboss-deployment-structure.xml,
<jboss-deployment-structure>
<deployment>
<!-- Exclusions allow you to prevent the server from automatically adding some dependencies -->
<exclusions>
<module name="org.apache.log4j" />
<module name="org.hibernate" />
</exclusions>
</deployment>
</jboss-deployment-structure>I debug into hbiernate's SqlExceptionHelper class, in its logExceptions method, I found LOG' debug level is still not enabled event I turn it down to debug level in log4j.propeties.
public void logExceptions( SQLException sqlException,
String message ) {
if (LOG.isEnabled(Level.ERROR)) {
if (LOG.isDebugEnabled()) {
message = StringHelper.isNotEmpty(message) ? message : DEFAULT_EXCEPTION_MSG;
LOG.debug( message, sqlException );
}
while (sqlException != null) {
StringBuilder buf = new StringBuilder(30).append("SQL Error: ").append(sqlException.getErrorCode()).append(", SQLState: ").append(sqlException.getSQLState());
LOG.warn(buf.toString());
LOG.error(sqlException.getMessage());
sqlException = sqlException.getNextException();
}
}
} -
10. Re: How can I show my exception in console
nuhsoah Nov 28, 2012 4:47 AM (in response to nuhsoah)I am using hibernate4.1.6 and it uses jboss-logging-3.1.0 log framework. Is it the devil?
-
11. Re: How can I show my exception in console
jamezp Nov 28, 2012 11:32 AM (in response to nuhsoah)Are you using JBoss Logging or log4j? You indicated you had a log4j.jar in your deployment. If you want to use a log4j configuration in AS 7.1.1, you need to exclude the server of log4j.
That said looking at your log4j configuration your probably better of using the server for your configuration instead. It will allow for runtime updates so you can turn on and off debugging without having to redeploy your application.
The CLI commands to duplicate your log4j configuration, minus the stdout one, are:
/subsystem=logging/periodic-rotating-file-handler=cynthia:add(suffix=".yyyy-MM-dd",formatter="%d{yyyy-MM-dd HH:mm:ss} %t %5p %c{1}: - %m%n",file={"relative-to"=>"jboss.server.log.dir","path"=>"cynthia.log"}) /subsystem=logging/logger=org.hibernate:add(level=DEBUG) /subsystem=logging/logger=org.hibernate.SQL:add(level=DEBUG) /subsystem=logging/logger=org.hibernate.tool.hbm2ddl:add(level=WARN)
The XML would look like:
<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> <periodic-rotating-file-handler name="cynthia"> <formatter> <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss} %t %5p %c{1}: - %m%n"/> </formatter> <file relative-to="jboss.server.log.dir" path="cynthia.log"/> <suffix value=".yyyy-MM-dd"/> </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> <logger category="org.hibernate"> <level name="DEBUG"/> </logger> <root-logger> <level name="INFO"/> <handlers> <handler name="CONSOLE"/> <handler name="FILE"/> </handlers> </root-logger> </subsystem>
The one difference here is by default the root level is set to INFO instead of DEBUG.
--
James R. Perkins
-
12. Re: How can I show my exception in console
nuhsoah Nov 28, 2012 8:58 PM (in response to jamezp)Hi James,
I did want to use log4j in my application. But my applicatio uses Hibernate4.1.6 which uses Jboss Logging log framework, and Quartz uses SLFJ log framework. I must make them work well.
-
13. Re: How can I show my exception in console
jamezp Nov 28, 2012 9:40 PM (in response to nuhsoah)Hello Eric,
You can still use log4j in your application, but configure logging via the logging subsystem. If you want to use the logging subsystem to configuration your logging, then you don't want to include a log4j library in your deployment. If you want to use a log4j configuration file, then you will have to include a log4j library in your deployment and exclude the servers version of log4j.
So in short, the logging subsystem configuration works with pretty much any logging facade you choose to use including log4j.
--
James R. Perkins
-
14. Re: How can I show my exception in console
nuhsoah Dec 2, 2012 8:46 PM (in response to jamezp)Hi James,
Thanks for your help. I had deleted log4j.jar from my application library, and change the root-logger's level to INFO, it worked. When I debuged into my struts2 code, I found the logger is type of org.apache.commons.logging.impl.SLF4JLocationAwareLog. I did not had such library in my application. Now I found this library was loaded by jboss in %JBOSS_HOME%\modules\org\slf4j\jcl-over-slf4j\main\jcl-over-slf4j-1.6.1.jar.
I have two questions now.
1. The DEBUG priority level is lower than INFO, why does it not work?
2. JBoss 7.1.1-final loads jboss-logging / hibernate / velocity / ... modules automtically, but my application also has these library, if I need to exclude these library using the jboss-deployment-structure.xml?
Thanks.