Liferay is a Gartner Magic Quadrant Leader for the Sixth Year! Find out why

Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
J S
Mojarra logging messagse going missing
April 17, 2012 6:47 AM
Answer

J S

Rank: Junior Member

Posts: 31

Join Date: April 11, 2012

Recent Posts

Hi,

I'm finding that logging messages from the mojarra library aren't appearing in any of the tomcat or liferay log files. They did when the application was servlet based.

Mojarra uses Java SE Logging. I am currently finding that the PartialViewContextImpl class is catching an exception and logging it, but I never see the message. This is making tracking problems down quite hard!

I've tried making tomcat use log4j but this hasn't helped.

Is there an example of setting up logging in liferay with mojarra?

Thanks

John
Neil Griffin
RE: Mojarra logging messagse going missing
April 17, 2012 8:25 AM
Answer

Neil Griffin

LIFERAY STAFF

Rank: Liferay Legend

Posts: 2297

Join Date: July 26, 2005

Recent Posts

Are you using PortletFaces Bridge? Liferay Faces Bridge has a new class named ExceptionHandlerAjaxImpl that might help with the logging issue you mentioned. It should be registered automatically if you have the liferay-faces-bridge-impl JAR in your portlet's WEB-INF/lib folder.
J S
RE: Mojarra logging messagse going missing
April 17, 2012 9:28 AM
Answer

J S

Rank: Junior Member

Posts: 31

Join Date: April 11, 2012

Recent Posts

I'm using


<dependency>
<groupId>com.liferay.faces</groupId>
<artifactId>liferay-faces-bridge-impl</artifactId>
<version>3.0.0-BETA1</version>
</dependency>
<dependency>
<groupId>com.liferay.faces</groupId>
<artifactId>liferay-faces-alloy</artifactId>
<version>3.0.0-BETA1</version>
</dependency>


Log messages from my app come out ok, just the ones from the mojarra library. I can step over it in the debugger and see it go into the method, but somehow it's not coming out in the log file.

Thanks,

John
Neil Griffin
RE: Mojarra logging messagse going missing
April 17, 2012 9:37 AM
Answer

Neil Griffin

LIFERAY STAFF

Rank: Liferay Legend

Posts: 2297

Join Date: July 26, 2005

Recent Posts

If you set a breakpoint in ExceptionHandlerAjaxImpl at line 62, does line 62 get reached?
1if (throwable != null) {
2    logger.error(throwable); // LINE 62
3}
J S
RE: Mojarra logging messagse going missing
April 18, 2012 2:23 AM
Answer

J S

Rank: Junior Member

Posts: 31

Join Date: April 11, 2012

Recent Posts

No, because the exception is handled just by logging it, it doesn't get queued. It's this bit in PartialViewContextImpl.processPartial

 1
 2            try {
 3                processComponents(viewRoot, phaseId, executeIds, ctx);
 4            } catch (Exception e) {
 5                if (LOGGER.isLoggable(Level.INFO)) {
 6                    LOGGER.log(Level.INFO,
 7                           e.toString(),
 8                           e);
 9                }
10            }


where logger is a java.util.logging.Logger

I'm sure it's just a configuration issue, but I can't work out what!

John
Neil Griffin
RE: Mojarra logging messagse going missing
April 18, 2012 8:24 AM
Answer

Neil Griffin

LIFERAY STAFF

Rank: Liferay Legend

Posts: 2297

Join Date: July 26, 2005

Recent Posts

Maybe give SLF4J (with log4j as the impl) a try:
http://stackoverflow.com/questions/5125988/how-to-forward-jsf-ri-mojarra-log-to-slf4j-or-log4j
J S
RE: Mojarra logging messagse going missing
April 18, 2012 8:28 AM
Answer

J S

Rank: Junior Member

Posts: 31

Join Date: April 11, 2012

Recent Posts

It seems like you have to explicitly assign a handler in your webapp, the normal defaults don't seem to apply:

in WEB-INF/classes/logging.properties

1javax.enterprise.resource.webcontainer.jsf.handlers = java.util.logging.ConsoleHandler
2javax.enterprise.resource.webcontainer.jsf.level = DEBUG


Thanks for your help,

John
Neil Griffin
RE: Mojarra logging messagse going missing
April 18, 2012 8:43 AM
Answer

Neil Griffin

LIFERAY STAFF

Rank: Liferay Legend

Posts: 2297

Join Date: July 26, 2005

Recent Posts

Thanks John -- that's terrific info! I'm going to add this to the demo portlets. See FACES-1187