6
私は、パスにslf4j.jarを持つ埋め込みJetty 9を使用しています。デフォルトでは、jettyは膨大な情報を記録します。jetty 9のロギングをプログラマブルにディセーブルにするにはどうすればいいですか?
ログを無効にするか、少なくともログレベルをINFOに変更します。プログラムでこれを行うにはどうすればよいですか(つまり、XML設定ファイルを入れないで)?
私は、パスにslf4j.jarを持つ埋め込みJetty 9を使用しています。デフォルトでは、jettyは膨大な情報を記録します。jetty 9のロギングをプログラマブルにディセーブルにするにはどうすればいいですか?
ログを無効にするか、少なくともログレベルをINFOに変更します。プログラムでこれを行うにはどうすればよいですか(つまり、XML設定ファイルを入れないで)?
slf4jは単にログファサード/ルーティングAPIであるため、直線slf4jを使用してLoggerレベルを設定する方法はありません。以下のような名前空間「org.eclipse.jetty」にログレベルを設定するには、基本となるロギング実装に依存する必要があるだろう
:
SLF4J-simple.jarを使用する場合、およびSimpleLoggerの場合、JVMの初期段階であるSimpleLoggerが初期化されると、プログラムでレベルを設定することはできません。
slf4j-log4j.jarを使用する場合は、Log4j specific techniquesを使用してください。
org.apache.log4j.LogManager.getLogger("org.eclipse.jetty").setLevel(Level.WARN);
java.util.logging.LoggerFactory.getLogger("org.eclipse.jetty").setLevel(Level.WARNING);
final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger("org.eclipse.jetty");
if (!(logger instanceof ch.qos.logback.classic.Logger)) {
return;
}
ch.qos.logback.classic.Logger logbackLogger = (ch.qos.logback.classic.Logger) logger;
logbackLogger.setLevel(ch.qos.logback.classic.Level.WARN);
なぜXML /プロパティファイルを避けるのですか?それらはログレベルを操作する正しい方法です。ログレベルを変更するために再コンパイルする必要があるため、このためのプログラミングアプローチは悪いです!!!!! – SSR
ユーザーがGUIまたはTUIを使用してレベルを変更する方法を実装していない場合は、あなたは、彼らがそれをどのように使うのか分からない限り、プログラマーがしなければならないことを、ある方法または他の方法で言うことはできません。 – Fallso