On 1/6/12 2:03 PM, Ryan Lubke wrote:
> Thanks for sharing.
>
> Just off the cuff, it seems we could improve HttpProbe by providing a
> default implementation that no-ops the methods so you could just
> override what you're interested in - less clutter.
Alexey logged
http://java.net/jira/browse/GRIZZLY-1171 this morning to
address the comment above.
We've applied the changes to resolve it just a few minutes ago and will
be available in 2.1.9 and 2.2.1.
So now you can do:
HttpServerProbe probe = new HttpServerProbe.Adapter() {
// override only the methods you're interested in
};
This applies to all Probe types.
>
> On 1/6/12 1:46 PM, kevinb wrote:
>> OK, this worked, code below for anyone who is interested.
>>
>>
>>
>> package com.frk.jerseyrestgrizzly;
>>
>> import org.glassfish.grizzly.filterchain.*;
>>
>> import com.sun.jersey.api.container.grizzly2.GrizzlyWebContainerFactory;
>> import org.glassfish.grizzly.http.server.HttpServer;
>> import org.glassfish.grizzly.http.HttpContent;
>> import org.glassfish.grizzly.http.HttpHeader;
>> import org.glassfish.grizzly.http.HttpProbe;
>> import org.glassfish.grizzly.http.ContentEncoding;
>> import org.glassfish.grizzly.http.TransferEncoding;
>> import org.glassfish.grizzly.http.HttpPacket;
>> import org.glassfish.grizzly.http.HttpCodecFilter;
>>
>> import javax.ws.rs.core.UriBuilder;
>> import java.io.IOException;
>> import java.net.URI;
>> import java.util.HashMap;
>> import java.util.Map;
>> import org.glassfish.grizzly.Buffer;
>> import org.glassfish.grizzly.Connection;
>>
>>
>> import org.glassfish.grizzly.http.jmx.*;
>> import org.glassfish.grizzly.http.server.StaticHttpHandler;
>>
>> /**
>> * Hello world!
>> *
>> */
>> public class App {
>>
>> /**
>> * @param args the command line arguments
>> */
>> private static URI getBaseURI() {
>> return
>> UriBuilder.fromUri("http://localhost/").port(8080).build();
>> }
>> public static final URI BASE_URI = getBaseURI();
>>
>> protected static HttpServer startServer() throws IOException {
>>
>> final Map<String, String> initParams = new HashMap<String,
>> String>();
>>
>> initParams.put("com.sun.jersey.config.property.packages",
>> "com.frk.jerseyrestgrizzly");
>>
>> System.out.println("Starting grizzly...");
>>
>> return GrizzlyWebContainerFactory.create(BASE_URI, initParams);
>>
>> }
>>
>> public static void main(String[] args) throws IOException {
>> final FilterChain filterChain;
>>
>> HttpServer httpServer = startServer();
>>
>> httpServer.getServerConfiguration().addHttpHandler(new
>> StaticHttpHandler("C:\\Projects\\JerseyRESTGrizzly\\test\\"), "/test");
>>
>> filterChain =
>> httpServer.getListener("grizzly").getFilterChain();
>>
>> // Get HttpCodecFilter
>>
>> HttpCodecFilter codecFilter = (HttpCodecFilter)
>> filterChain.get(filterChain.indexOfType(HttpCodecFilter.class));
>> codecFilter.getMonitoringConfig().addProbes(new HttpProbe() {
>>
>> public void onDataReceivedEvent(Connection connection,
>> Buffer
>> buffer) {
>>
>> System.out.println(buffer.toStringContent()); //
>> Log incoming traffic
>> }
>>
>> public void onDataSentEvent(Connection connection, Buffer
>> buffer) {
>>
>> System.out.println(buffer.toStringContent()); //
>> // Log outgoing traffic
>> }
>>
>> public void onHeaderParseEvent(Connection connection,
>> HttpHeader
>> header, int size) {
>> }
>>
>> public void onHeaderSerializeEvent(Connection connection,
>> HttpHeader header, Buffer buffer) {
>> }
>>
>> public void onContentChunkParseEvent(Connection connection,
>> HttpContent content) {
>> }
>>
>> public void onContentChunkSerializeEvent(Connection
>> connection,
>> HttpContent content) {
>> }
>>
>> public void onContentEncodingParseEvent(Connection
>> connection,
>> HttpHeader header, Buffer buffer, ContentEncoding contentEncoding) {
>> }
>>
>> public void onContentEncodingSerializeEvent(Connection
>> connection, HttpHeader header, Buffer buffer, ContentEncoding
>> contentEncoding) {
>> }
>>
>> public void onTransferEncodingParseEvent(Connection
>> connection,
>> HttpHeader header, Buffer buffer, TransferEncoding transferEncoding) {
>> }
>>
>> public void onTransferEncodingSerializeEvent(Connection
>> connection, HttpHeader header, Buffer buffer, TransferEncoding
>> transferEncoding) {
>> }
>>
>> public void onErrorEvent(Connection connection, HttpPacket
>> httpPacket, Throwable error) {
>> }
>>
>> public void onErrorEvent(Connection cnctn, Throwable
>> thrwbl) {
>> throw new UnsupportedOperationException("Not supported
>> yet.");
>> }
>> });
>>
>>
>>
>> System.out.println(String.format("Jersey app started with WADL
>> available at "
>> + "%sapplication.wadl\nTry out %shelloworld\nHit
>> enter to
>> stop it...",
>> BASE_URI, BASE_URI));
>> System.in.read();
>>
>> httpServer.stop();
>>
>> }
>> }
>>
>>
>> --
>> View this message in context:
>> http://grizzly.1045725.n5.nabble.com/Logging-question-tp5076118p5126754.html
>> Sent from the Grizzly - Users mailing list archive at Nabble.com.
>