2017-06-26 4 views
0

教えてください。私はSpring-bootに関するプロジェクトを持っています。私は、Javaコードのロギングを設定しようとしています。問題は、同期ロギングアプリケーションとHibernate SQLの設定方法を理解していることです。ログアプリとその作品の罰金 ここに私の設定クラス:春のブート時に休止状態を記録する

@Service 
public class Slf4j { 

    @Bean(name = "logger") 
    public Logger getLogger() { 
     LoggerContext logCtx = (LoggerContext) LoggerFactory.getILoggerFactory(); 
     Logger log = logCtx.getLogger(Logger.ROOT_LOGGER_NAME); 
     log.setAdditive(false); 
     log.setLevel(Level.INFO); 
     log.addAppender(initConsoleLogger(logCtx)); 
     log.addAppender(initFileLogger(logCtx)); 
     return log; 
    } 

    private RollingFileAppender initFileLogger(LoggerContext logCtx) { 
     PatternLayoutEncoder logEncoder = new PatternLayoutEncoder(); 
     logEncoder.setContext(logCtx); 
     logEncoder.setPattern("%-12date{YYYY-MM-dd HH:mm:ss.SSS} %-5level - %msg%n"); 
     logEncoder.start(); 

     RollingFileAppender logFileAppender = new RollingFileAppender(); 
     logFileAppender.setContext(logCtx); 
     logFileAppender.setName("logFile"); 
     logFileAppender.setEncoder(logEncoder); 
     logFileAppender.setAppend(true); 
     logFileAppender.setFile("logs/logfile.log"); 

     TimeBasedRollingPolicy logFilePolicy = new TimeBasedRollingPolicy(); 
     logFilePolicy.setContext(logCtx); 
     logFilePolicy.setParent(logFileAppender); 
     logFilePolicy.setFileNamePattern("logs/logfile-%d{yyyy-MM-dd_HH}.log"); 
     logFilePolicy.setMaxHistory(7); 
     logFilePolicy.start(); 

     logFileAppender.setRollingPolicy(logFilePolicy); 
     logFileAppender.start(); 
     return logFileAppender; 
    } 

    private ConsoleAppender initConsoleLogger(LoggerContext logCtx) { 
     PatternLayoutEncoder logEncoder = new PatternLayoutEncoder(); 
     logEncoder.setContext(logCtx); 
     logEncoder.setPattern("%-12date{YYYY-MM-dd HH:mm:ss.SSS} %-5level - %msg%n"); 
     logEncoder.start(); 

     ConsoleAppender logConsoleAppender = new ConsoleAppender(); 
     logConsoleAppender.setContext(logCtx); 
     logConsoleAppender.setName("console"); 
     logConsoleAppender.setEncoder(logEncoder); 
     logConsoleAppender.start(); 
     return logConsoleAppender; 
    } 


} 

私は、具体的にHibernateに別々のクラスを作ってみました。別のファイルに書き込む。ファイルは作成されますが情報はありません。私は別のクラスでこのようないくつかのものを試しますLogger log = logCtx.getLogger( "org.hibernate.SQL");

UPDATE:私が欲しいものを最後に

:私は、Javaコードで自分のアプリケーションのログを設定します。つまり、ログは、アプリケーションおよびSQLクエリのログに書き込まれる必要があります。そして

+0

ハイパーネーションが生成するSQLクエリをログに記録できるようにするためのアプリプロパティーキーがあります。それには「SQLを表示」がありましたが、私は頭の上から正確に覚えていません。その場合は@EpicPandaForce – EpicPandaForce

+0

、私はapplication.propertiesなしでHibernateを設定する必要があります –

答えて

0

私が予想したよりはるかに簡単でした。 Hibernateロガーがロギングレベルを指定し、 "org.hibernate"を使用するロガーを作成するために必要です

関連する問題