2016-09-10 26 views
1

ログを1つのgroovyクラスに設定できます。しかし、私は別のGroovyクラスからのすべてのログを単一のファイルに送信したいと思います。出来ますか ?私のgroovyクラスで私のログコードを見つけてください。groovyプロジェクト(すべてのクラスからのログ)のログを単一のファイルに設定する方法

import groovy.sql.Sql 
import org.apache.log4j.* 
import groovy.util.logging.* 

@Log4j 
public class TibcoAppConfGenertor { 

    public TibcoAppConfGenertor() { 

     log.level = Level.DEBUG 
     log.addAppender(new FileAppender(new TTCCLayout(), 'Tibco.log')); 
     log.addAppender(new FileAppender(new TTCCLayout(), 'Tibco_Exception.log')); 
     //log.info 'Simple sample to show log field is injected.' 

    } 




    public void generateServiceXML() { 
     log.info 'generateServiceXML' 

     getApplicationGroups(); 

    } 
+2

[log4jを正しく初期化するにはどうすればいいですか?](http://stackoverflow.com/questions/1140358/how-to-initialize-log4j-properly) –

答えて

1

Java上でGroovyが実行されるため、Javaライブラリの1つを使用できます。 個人的には、log4jを使用するよりもslf4jの方が好きです。 log4jとの違いはhereです。 Grails MVCフレームワークを使用している場合は、すべてのログを処理するサービスを作成することをお勧めします。

private static final Logger log = LoggerFactory.getLogger('className') 

もちろんに置き換える必要がありますが「className」:

public class LoggerService { 

private static Logger defaultLogger=LoggerFactory.getLogger(LoggerService.class); 

// Add more methods here 

} 

すべてのクラスは、次の行を述べる必要があるロガーを使用しています、このようなサービスのための

例は、そのようなものにすることができますあなたが使用する関連クラス。

関連する問題