0

Restlet Webサービスがあり、リクエストが行われたときにRestletが作成するログのデバッグステートメントを削除したいと思います。現在、次のようにして、コンソール出力ではなく、このコードを使用してRestletログをログファイルにリダイレクトしています。

Slf4jLoggerFacade loggerFacade = new Slf4jLoggerFacade();
Engine.getInstance().setLoggerFacade(loggerFacade);

私のlog4j.propertiesファイルにはこれがあります:

log4j.rootLogger=WARNING, LOGFILE

私の問題は、リクエストを受信したことを示すデバッグエントリがログに表示されることです。これにより、すべてのデバッグステートメントが原因でログファイルが巨大なファイルサイズになります。

また、デバッグステートメントを削除するためにこれを試しましたが、機能しませんでした。

Engine.setLogLevel(Level.WARNING);

同様にこれを試しました:

Engine.setRestletLogLevel(Level.WARNING);

log4j.propertiesファイルが機能しないのはなぜですか?

これが私が削除したいログからのいくつかのデバッグエントリです:

11月29日00:00:01DEBUGorg.restletログホスト:ip:818211月29日
00:00:01DEBUG org.restletログ接続:キープアライブ
11月29日00:00:01 DEBUGt.SpringComponent.ServerRouterfineデフォルト仮想ホストが選択されました
11月29日00:00:01DEBUGt.SpringComponent.ServerRouterファインベースURI: "http:// ip:8182"。残りの部分: "/ getFoo?foo = Foo%2Ffoo&fileName = foo.bin"

4

2 に答える 2

2

コンテキストのいくつかの要素を正確にできますか:アプリケーションはサーブレットコンテナ内で実行されていますか?どのようなサーバーコネクタを使用していますか?どのような種類のデバッグトレースがログに記録されているのかはっきりとはわかりませんが、サンプルを提供できますか?まだRestlet-2.0を使用していますか?

よろしく、ティエリーボアロー

于 2012-11-29T08:36:38.500 に答える
1

解決しました!これは、log4jを十分に知らないというRestletの問題ではありませんでした。log4jレベルをWARNではなくWARNINGに設定していました。これが私の問題を解決したlog4jの私の設定です。:)

log4j.rootLogger=ERROR, LOGFILE
log4j.logger.org.restlet=WARN
log4j.logger.org.springframework=WARN
于 2012-11-29T14:14:21.813 に答える