I understand. I think simply logging the class names of the resources/providers as INFO should be sufficient. The other details raw type/data map (not even sure what that is) should probably be logged at DEBUG.
--jason On Sep 17, 2010, at 1:19 PM, Bryant Luk wrote: > While I think the formatting should be changed and some of it should > be removed, I think we should log the user resources and providers > that are registered. Some users have had trouble because they forget > to register their resources so they get 404s or try using a > MessageBodyWriter that isn't registered. > > On Fri, Sep 17, 2010 at 3:11 PM, Jason Dillon <[email protected]> wrote: >> Why is this marked explicitly as INFO? >> >> <snip> >> // always produce INFO output after completing application processing: >> logger.info(Messages.getMessage("applicationProcessed", >> application.getClass().getName())); //$NON-NLS-1$ >> List<ResourceRecord> resourceRecords = resourceRegistry.getRecords(); >> StringBuffer sb = new StringBuffer(); >> for (ResourceRecord record : resourceRecords) { >> sb.append("\n " + record.toString()); //$NON-NLS-1$ >> } >> logger.info(Messages.getMessage("registeredResources", (sb.length() > >> 0) ? sb.toString() : "{}")); //$NON-NLS-1$ $NON-NLS-2$ >> logger.info(providersRegistry.getLogFormattedProvidersList(true)); >> // done with INFO >> </snip> >> >> The resulting logs look much more like DEBUG information. >> >> --jason >> >> >> On Sep 15, 2010, at 2:25 PM, Jason Dillon wrote: >> >>> :-( >>> >>> --jason >>> >>> <snip> >>> jvm 1 | INFO [Initializing plugin benson-servlets-plugin] >>> o.a.w.s.i.a.ApplicationProcessor - The following application has been >>> processed: com.sonatype.benson.rest.server.internal.wink.ApplicationImpl >>> jvm 1 | INFO [Initializing plugin benson-servlets-plugin] >>> o.a.w.s.i.a.ApplicationProcessor - Registered resources: {} >>> jvm 1 | INFO [Initializing plugin benson-servlets-plugin] >>> o.a.w.s.i.a.ApplicationProcessor - The following user-defined JAX-RS >>> providers are registered: >>> jvm 1 | RawType: interface javax.ws.rs.ext.ContextResolver >>> jvm 1 | Data Map: {empty} >>> jvm 1 | RawType: interface javax.ws.rs.ext.MessageBodyReader >>> jvm 1 | Data Map: {empty} >>> jvm 1 | RawType: interface javax.ws.rs.ext.MessageBodyWriter >>> jvm 1 | Data Map: {empty} >>> jvm 1 | INFO [Initializing plugin benson-servlets-plugin] >>> o.a.w.s.i.a.ApplicationProcessor - The following application has been >>> processed: org.apache.wink.server.utils.RegistrationUtils$InnerApplication >>> jvm 1 | INFO [Initializing plugin benson-servlets-plugin] >>> o.a.w.s.i.a.ApplicationProcessor - Registered resources: {} >>> jvm 1 | INFO [Initializing plugin benson-servlets-plugin] >>> o.a.w.s.i.a.ApplicationProcessor - The following user-defined JAX-RS >>> providers are registered: >>> jvm 1 | RawType: interface javax.ws.rs.ext.ContextResolver >>> jvm 1 | Data Map: {empty} >>> jvm 1 | RawType: interface javax.ws.rs.ext.MessageBodyReader >>> jvm 1 | Data Map: {empty} >>> jvm 1 | RawType: interface javax.ws.rs.ext.MessageBodyWriter >>> jvm 1 | Data Map: {empty} >>> jvm 1 | INFO [Initializing plugin benson-servlets-plugin] >>> o.a.w.s.i.a.ApplicationProcessor - The following application has been >>> processed: org.apache.wink.server.utils.RegistrationUtils$InnerApplication >>> jvm 1 | INFO [Initializing plugin benson-servlets-plugin] >>> o.a.w.s.i.a.ApplicationProcessor - Registered resources: >>> jvm 1 | Path: ; ClassMetadata: Class: >>> org.apache.wink.server.internal.resources.HtmlServiceDocumentResource >>> jvm 1 | INFO [Initializing plugin benson-servlets-plugin] >>> o.a.w.s.i.a.ApplicationProcessor - The following user-defined JAX-RS >>> providers are registered: >>> jvm 1 | RawType: interface javax.ws.rs.ext.ContextResolver >>> jvm 1 | Data Map: {empty} >>> jvm 1 | RawType: interface javax.ws.rs.ext.MessageBodyReader >>> jvm 1 | Data Map: {empty} >>> jvm 1 | RawType: interface javax.ws.rs.ext.MessageBodyWriter >>> jvm 1 | Data Map: {empty} >>> jvm 1 | INFO [Initializing plugin benson-servlets-plugin] >>> o.a.w.s.i.a.ApplicationProcessor - The following application has been >>> processed: >>> com.sonatype.benson.rest.plugin.wink.WinkProvider$ProviderApplication >>> jvm 1 | INFO [Initializing plugin benson-servlets-plugin] >>> o.a.w.s.i.a.ApplicationProcessor - Registered resources: >>> jvm 1 | Path: jobs/{jobName}/{buildNumber:\d*}; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.build.BuildResource >>> jvm 1 | Path: admin; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.admin.AdminResource >>> jvm 1 | Path: users; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.user.UserResource >>> jvm 1 | Path: queue; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.queue.QueueResource >>> jvm 1 | Path: nodes; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.node.NodeResource >>> jvm 1 | Path: jobs; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.job.JobsResource >>> jvm 1 | Path: job; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.job.JobResource >>> jvm 1 | Path: ; ClassMetadata: Class: >>> org.apache.wink.server.internal.resources.HtmlServiceDocumentResource >>> jvm 1 | INFO [Initializing plugin benson-servlets-plugin] >>> o.a.w.s.i.a.ApplicationProcessor - The following user-defined JAX-RS >>> providers are registered: >>> jvm 1 | RawType: interface javax.ws.rs.ext.ContextResolver >>> jvm 1 | Data Map: {empty} >>> jvm 1 | RawType: interface javax.ws.rs.ext.MessageBodyReader >>> jvm 1 | Data Map: {empty} >>> jvm 1 | RawType: interface javax.ws.rs.ext.MessageBodyWriter >>> jvm 1 | Data Map: {empty} >>> jvm 1 | INFO [Initializing plugin benson-servlets-plugin] >>> o.a.w.s.i.a.ApplicationProcessor - The following application has been >>> processed: >>> com.sonatype.benson.rest.plugin.wink.WinkProvider$ProviderApplication >>> jvm 1 | INFO [Initializing plugin benson-servlets-plugin] >>> o.a.w.s.i.a.ApplicationProcessor - Registered resources: >>> jvm 1 | Path: handshake; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.internal.HandshakeResource >>> jvm 1 | Path: jobs/{jobName}/{buildNumber:\d*}; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.build.BuildResource >>> jvm 1 | Path: status; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.status.StatusResource >>> jvm 1 | Path: admin; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.admin.AdminResource >>> jvm 1 | Path: users; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.user.UserResource >>> jvm 1 | Path: queue; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.queue.QueueResource >>> jvm 1 | Path: nodes; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.node.NodeResource >>> jvm 1 | Path: fault; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.fault.FaultResource >>> jvm 1 | Path: jobs; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.job.JobsResource >>> jvm 1 | Path: job; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.job.JobResource >>> jvm 1 | Path: ; ClassMetadata: Class: >>> org.apache.wink.server.internal.resources.HtmlServiceDocumentResource >>> jvm 1 | INFO [Initializing plugin benson-servlets-plugin] >>> o.a.w.s.i.a.ApplicationProcessor - The following user-defined JAX-RS >>> providers are registered: >>> jvm 1 | RawType: interface javax.ws.rs.ext.ContextResolver >>> jvm 1 | Data Map: {empty} >>> jvm 1 | RawType: interface javax.ws.rs.ext.MessageBodyReader >>> jvm 1 | Data Map: {empty} >>> jvm 1 | RawType: interface javax.ws.rs.ext.MessageBodyWriter >>> jvm 1 | Data Map: {empty} >>> jvm 1 | INFO [Initializing plugin benson-servlets-plugin] >>> o.a.w.s.i.a.ApplicationProcessor - The following application has been >>> processed: >>> com.sonatype.benson.rest.plugin.wink.WinkProvider$ProviderApplication >>> jvm 1 | INFO [Initializing plugin benson-servlets-plugin] >>> o.a.w.s.i.a.ApplicationProcessor - Registered resources: >>> jvm 1 | Path: handshake; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.internal.HandshakeResource >>> jvm 1 | Path: jobs/{jobName}/{buildNumber:\d*}; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.build.BuildResource >>> jvm 1 | Path: status; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.status.StatusResource >>> jvm 1 | Path: admin; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.admin.AdminResource >>> jvm 1 | Path: users; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.user.UserResource >>> jvm 1 | Path: queue; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.queue.QueueResource >>> jvm 1 | Path: nodes; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.node.NodeResource >>> jvm 1 | Path: fault; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.fault.FaultResource >>> jvm 1 | Path: jobs; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.job.JobsResource >>> jvm 1 | Path: job; ClassMetadata: Class: >>> com.sonatype.benson.rest.api.job.JobResource >>> jvm 1 | Path: ; ClassMetadata: Class: >>> org.apache.wink.server.internal.resources.HtmlServiceDocumentResource >>> jvm 1 | INFO [Initializing plugin benson-servlets-plugin] >>> o.a.w.s.i.a.ApplicationProcessor - The following user-defined JAX-RS >>> providers are registered: >>> jvm 1 | RawType: interface javax.ws.rs.ext.ContextResolver >>> jvm 1 | Data Map: {empty} >>> jvm 1 | RawType: interface javax.ws.rs.ext.MessageBodyReader >>> jvm 1 | Data Map: >>> jvm 1 | MediaType key = multipart/* >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | } >>> jvm 1 | MediaType key = text/csv >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | } >>> jvm 1 | MediaType key = application/x-www-form-urlencoded >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | } >>> jvm 1 | MediaType key = application/atom+xml >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | } >>> jvm 1 | MediaType key = text/json >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | class org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider >>> jvm 1 | } >>> jvm 1 | MediaType key = application/xml >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | } >>> jvm 1 | MediaType key = application/javascript >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | } >>> jvm 1 | MediaType key = application/octet-stream >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | } >>> jvm 1 | MediaType key = */* >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | } >>> jvm 1 | MediaType key = application/json >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | class org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider >>> jvm 1 | } >>> jvm 1 | MediaType key = text/xml >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | } >>> jvm 1 | >>> jvm 1 | RawType: interface javax.ws.rs.ext.MessageBodyWriter >>> jvm 1 | Data Map: >>> jvm 1 | MediaType key = multipart/* >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | } >>> jvm 1 | MediaType key = text/html >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | } >>> jvm 1 | MediaType key = text/csv >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | } >>> jvm 1 | MediaType key = application/x-www-form-urlencoded >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | } >>> jvm 1 | MediaType key = application/atom+xml >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | } >>> jvm 1 | MediaType key = application/atomcat+xml >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | } >>> jvm 1 | MediaType key = application/xml >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | } >>> jvm 1 | MediaType key = application/octet-stream >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | } >>> jvm 1 | MediaType key = text/xml >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | } >>> jvm 1 | MediaType key = text/json >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | class org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider >>> jvm 1 | } >>> jvm 1 | MediaType key = application/javascript >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | } >>> jvm 1 | MediaType key = */* >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | } >>> jvm 1 | MediaType key = application/json >>> jvm 1 | ObjectFactory Set value = { >>> jvm 1 | class org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider >>> jvm 1 | } >>> </snip> >> >>
