2016-10-26 13 views
0

Netty 4.1.6を使用しています。 log4j2を内部ロガーとして設定することは可能ですか? Eclipseは次のステートメントが償却されることを私に促します。Netty内部ロガーの問題

InternalLoggerFactory.setDefaultFactory(new Log4J2LoggerFactory()); 

どうすればいいですか?

+1

https://github.com/netty/netty/blob/eb7f751ba519cbcab47d640cd18757f09d077b55/common/src/main/java/io/netty/util/internal/logging/Log4J2LoggerFactory([Log4J2LoggerFactory]のソースコード。 java)は "@deprecatedを使用してください。代わりに#INSTANCEを使用してください。"したがって、おそらく 'InternalLoggerFactory.setDefaultFactory(Log4J2LoggerFactory.INSTANCE);を使用するべきでしょう; これは[PR 5047](https://github.com/netty/netty/pull/5047)の議論に従って追加され、彼らはすべてのログの実装をシングルトンのクラスにしたいと思った – Ferrybig

答えて

0

チップのためのFerrybigありがとう。

私はlog4j2でこれを行う方法を詳しく説明しています。

Nettyサーバーのブートストラップを実行する前に、この行を上に挿入してください。

InternalLoggerFactory.setDefaultFactory(Log4J2LoggerFactory.INSTANCE); 
ServerBootstrap b = new ServerBootstrap(); 
b.option(ChannelOption.SO_BACKLOG, 1024); 
b.group(bossGroup, workerGroup) 
.channel(NioServerSocketChannel.class) 
.handler(new LoggingHandler(LogLevel.INFO)) 
.childHandler(new ... 

次にlog4j2.xmlにロガーと対応するAppendersがあります。

<Logger name="io.netty" level="INFO" additivity="false"> 
    <AppenderRef ref="nettyTrace"/> 
</Logger> 
関連する問題