You can use these format to parse log in your question:
type=log4j
pattern=[TIMESTAMP] [PROP(server)] [CLASS] [LEVEL] [PROP(someClass)] [tid: _ThreadID=PROP(ThreadID) _ThreadName=THREAD] [timeMillis: PROP(timeMilis)] [levelValue: PROP(levelValue)] MESSAGE
name=My glassfish format
dateFormat=yyyy-MM-dd'T'HH:mm:sZ
I had following assumption about your log:
[2013-10-13T17:36:03.841+0700] - timestamp
[glassfish 4.0] - PROP(server)
[WARNING] - Level
[endpoint.activation.failure] - Class
[javax.enterprise.resource.resourceadapter.com.sun.enterprise.connectors.inbound] PROP(someClass)
[tid: _ThreadID=34 _ThreadName=admin-listener(1)] - Thread info
[timeMillis: 1381660563841] - PROP(timeMillis)
[levelValue: 900] - PROP(levelValue)
[[RAR8501: Exception during endpoint activation for ra [ jmsra ], activationSpecClass [ com.sun.messaging.jms.ra.ActivationSpec ] : javax.resource.ResourceException: MQRA:EC:Invalid destinationLookup jms/NewMessage configured in ActivationSpec of MDB for no JNDI name found]] - Message
OtrosLogViewer has also Log4j pattern parser editor. You can found it in menu Tools.