0

編集:したがって、問題はログ ハンドラー/アペンダーとルート ロガーのログ レベルにあるようです。どういうわけか、HQ (単に他のアプリ) には、すべてのログ メッセージを取得するようにログが構成されています。必要なのは、jsaハンドラーがログ メッセージを上位レベルに渡すことを禁止することです。

やあ。ロギングに問題があります。

情報: サーバー上でいくつかのアプリ (hyperic、さらなる HQ を含む) を実行しています。また、サーバー上で実行されているグルーヴィーなアプリ/スクリプトもあります。HQ はスクリプトをトリガーしますが、実際にはスクリプトとの統合はありません。つまり、HQ が groovy スクリプトについて知っているのはすべて、groovy スクリプトによって生成されたコマンド ラインの出力です。

問題: 何らかの方法で HQ ログが groovy スクリプトからすべてのメッセージを取得します。groovy がログを記録している場合、すべてのログが標準の Java ログに出力され、HQ によって上書きされると想定できます。

デフォルトのJavaログへのロギングを不可能にするはずのgroovyスクリプト用のlog4j構成があります。

log4j.rootLogger=info, jsa
log4j.logger.net.schmizz.sshj=WARN

#Defining logger scope and it's params
log4j.logger.mypackage=INFO, jsa
log4j.appender.jsa=org.apache.log4j.RollingFileAppender
log4j.appender.jsa.File=logs/jsa.log
log4j.appender.jsa.MaxFileSize=1MB
log4j.appender.jsa.MaxBackupIndex=5
log4j.appender.jsa.layout=org.apache.log4j.PatternLayout
log4j.appender.jsa.layout.ConversionPattern=%d [%t] %-5p %c (%F:%L) - %m%n

私はまだすべての厄介なログを取得していますが。

PS: 私は柔軟性のために slf4j も使用していますが、このトリックを実行したとは思えません。

4

1 に答える 1

0

問題はロギングではなく (ここでは加算オプションが役立ちます)、groovy ファイルが存在するディレクトリにあります。HQ バージョン 4.3 では、hq-plugins 内のすべてのファイルが tmp ディレクトリに保存され、変更されたファイルもそこに保存されます (したがって、ファイル foo.txt があり、そこに置くと、tmp に保存されます。変更すると、tmp にも保存されます)。

解決策: ログ、groovy スクリプト、およびその他のファイルを hq-plugins から別の場所に移動するだけです。この場合の Tmp ディレクトリは$HQ_HOME/server/hq-engine/hq-server/default/tmp/deploy/

于 2011-05-26T14:56:24.243 に答える