2012-07-16 119 views
0

我在獨立應用程序中使用Spring和Hibernate。我需要在控制檯上看到記錄器消息,如下所示...如何在控制檯上顯示日誌消息?

2011-02-10 12:24:17 DriverManagerDataSource [INFO] Loaded JDBC driver: org.h2.Driver 
2011-02-10 12:24:17 JdbcTemplate [DEBUG] Executing SQL statement [SELECT 1] 
2011-02-10 12:24:17 DataSourceUtils [DEBUG] Fetching JDBC Connection from DataSource 
2011-02-10 12:24:17 DriverManagerDataSource [DEBUG] Creating new JDBC DriverManager Connection to [jdbc:h2:/data/h2/testa] 
2011-02-10 12:24:17 DataSourceUtils [DEBUG] Returning JDBC Connection to DataSource 
2011-02-10 12:24:17 JdbcTemplate [DEBUG] Executing SQL statement [SELECT 1] 
2011-02-10 12:24:17 DataSourceUtils [DEBUG] Fetching JDBC Connection from DataSource 
2011-02-10 12:24:17 DriverManagerDataSource [DEBUG] Creating new JDBC DriverManager Connection to [jdbc:h2:/data/h2/testa] 
2011-02-10 12:24:17 DataSourceUtils [DEBUG] Returning JDBC Connection to DataSource 

我有log4j屬性文件。我需要設置哪些屬性才能看到上述的控制檯?

謝謝!

回答

3

您需要定義一個控制檯的appender:

<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%-12d{HH:mm:ss,SSS} - %p - %C{1}.%M(%-3L) | %m%n" /> 
    </layout> 
</appender> 

然後將其添加到根:

<root> 
    <appender-ref ref="CONSOLE" /> 
</root> 
+0

@jddsantaellam,感謝您的答覆。我需要看到春天和休眠連接相關的東西的日誌,如連接打開和關閉控制檯中的東西。下面我有我的log4j.log4j.rootLogger = DEBUG配置,文件 log4j.logger.org.hibernate = DEBUG log4j.logger.org.springframework = DEBUG log4j.logger.org.apache.axis = DEBUG。 ............. log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.threshold = DEBUG log4j.appender.stdout.layout = org.apache.log4j .PatternLayout log4j.appender.stdout.layout.ConversionPattern =%d%p [%c] - %m%n – user1016403 2012-07-16 08:48:37

+0

你需要找出你所需要的軟件包類,然後爲它們激活DEBUG級別。大概調試整個org.springframework不是一個好主意。更準確,因爲你可以在日誌中丟失。 – jddsantaella 2012-07-16 09:12:26

0

下面我給你的log4j配置的例子:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> 

    <!-- Appenders --> 
    <appender name="console" class="org.apache.log4j.ConsoleAppender"> 
     <param name="Target" value="System.out" /> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%d %-5p [%t] %c (%L) - %m%n" /> 
     </layout> 
    </appender> 

    <logger name="com.opensymphony.xwork2"> 
     <level value="error" /> 
    </logger> 

    <!-- Root Logger --> 
    <root> 
     <priority value="info" /> 
     <appender-ref ref="console" /> 
    </root> 

</log4j:configuration> 

然後在你想要記錄的類中,你需要像這樣聲明記錄器:

私有最終靜態記錄器記錄器= Logger.getLogger(Giannis.class);

,然後你像做

logger.debug( 「你好」);

你shoudl在日誌中看到該程序運行

0

時,從您的評論看起來像你只有一個附加器即標準輸出和你要求顯示在控制檯上,你需要一提的是附加器中包裝定義如下。

log4j.log4j.rootLogger=DEBUG, stdout 
log4j.logger.org.hibernate=DEBUG, stdout 
log4j.logger.org.springframework=DEBUG, stdout  
log4j.logger.org.apache.axis=DEBUG, stdout  
log4j.appender.stdout=org.apache‌​.log4j.ConsoleAppender  
log4j.appender.stdout.threshold=DEBUG  
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n 

它會從 'org.hibernate作爲', 'org.springframework',可在DEBUG級別 'org.apache.axis' 包打印日誌。

注意:如果你想捕捉日誌只從春特定的軟件包/休眠您可以提到,包帶附加器像下面

log4j.logger.org.springframework.transaction=DEBUG, stdout 
相關問題