如何在Netty 4中禁用日志?

时间:2013-12-22 22:44:56

标签: logging log4j netty

如何禁用Netty 4对log4j执行的所有日志? 我实际上想要自己写所有日志,只在日志中看到我在那里写的东西。 我是Netty和log4j的新手。

2 个答案:

答案 0 :(得分:8)

看起来下面列出的行帮助我关闭了Netty日志。我不知道它是否会禁用Netty的所有可能日志,但至少是我已经看过的那些日志。

Logger.getLogger("io.netty").setLevel(Level.OFF);

答案 1 :(得分:0)

@DWand的答案对我不起作用,尽管在Hibernate情况下类似的方法也起作用:

package some.random.super.long.folder.path;

import java.util.Collections;
import java.util.Set;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.model.User;
import com.liferay.portal.kernel.service.UserLocalServiceUtil;
import com.liferay.portal.kernel.util.PropsUtil;

import javax.net.ssl.HttpsURLConnection;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Application;
import javax.ws.rs.ServerErrorException;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.SecurityContext;

import org.osgi.service.component.annotations.Component;
import org.osgi.service.jaxrs.whiteboard.JaxrsWhiteboardConstants;

/**
 * @author andrew
 */
@Component(
    property = {
        JaxrsWhiteboardConstants.JAX_RS_APPLICATION_BASE + "=/greetings",
        JaxrsWhiteboardConstants.JAX_RS_NAME + "=Greetings.Rest"
    },
    service = Application.class
)
public class DiningRestServiceApplication extends Application {

    public Set<Object> getSingletons() {
        return Collections.<Object>singleton(this);
    }

    @GET
    @Produces("text/plain")
    public String working() {
        return "It works!";
    }

    @GET
    @Path("/morning")
    @Produces("text/plain")
    public String hello() {
        return "Good morning!";
    }

    @GET
    @Path("/morning/{name}")
    @Produces("text/plain")
    public String morning(
        @PathParam("name") String name,
        @QueryParam("drink") String drink) {

        String greeting = "Good Morning " + name;

        if (drink != null) {
            greeting += ". Would you like some " + drink + "?";
        }

        return greeting;
    }

}

对于Netty,我仅使用基于类的配置,并为日志处理程序设置名称过滤器以及其他任何条件:

Logger.getLogger("org.hibernate").setLevel(...)

不确定这是否是一个好方法,但这是我可以跳过 only Netty日志的唯一方法。