2017-04-05 91 views
0

對我的項目使用Spring iBatis Framework。然後用logback記錄即時消息。然後,在檢查日誌文件,我可以看到系統正在使用的數據庫...我想隱藏此爲安全起見,日誌 - 如何刪除日誌文件中的數據庫信息

下面是示例日誌..

12:22:59.585 [http-bio-3088-exec-1] DEBUG org.mybatis.spring.SqlSessionUtils - Creating SqlSession with JDBC Connection [jdbc:postgresql://127.0.0.1:5432/SAMPLEDB, UserName=postgres, PostgreSQL Native Driver] 
12:22:59.585 [http-bio-3088-exec-1] DEBUG java.sql.Connection - ooo Connection Opened 
12:22:59.585 [http-bio-3088-exec-1] DEBUG o.m.s.t.SpringManagedTransaction - JDBC Connection [jdbc:postgresql://127.0.0.1:5432/SAMPLEDB, UserName=postgres, PostgreSQL Native Driver] will not be managed by Spring 
12:22:59.585 [http-bio-3088-exec-1] DEBUG org.mybatis.spring.SqlSessionUtils - SqlSession [[email protected]] was not registered for synchronization because synchronization is not active 
12:22:59.585 [http-bio-3088-exec-1] DEBUG java.sql.PreparedStatement - ==> Executing: SELECT * (purposely deleted) 
12:22:59.585 [http-bio-3088-exec-1] DEBUG java.sql.PreparedStatement - ==> Parameters: ADMIN(String), 0(Integer) 
12:22:59.585 [http-bio-3088-exec-1] DEBUG java.sql.ResultSet - <== Columns: (purposely deleted, list of columns) 
12:22:59.585 [http-bio-3088-exec-1] DEBUG java.sql.ResultSet - <==  Row: 86, ADMIN, 1, 7, 0, ADMIN, 20170403, 135432, SCREENID, null, null, null, null, 0, null, 1 
12:22:59.585 [http-bio-3088-exec-1] DEBUG org.mybatis.spring.SqlSessionUtils - Closing no transactional SqlSession [[email protected]] 
12:22:59.585 [http-bio-3088-exec-1] DEBUG org.mybatis.spring.SqlSessionUtils - Creating SqlSession with JDBC Connection [jdbc:postgresql://127.0.0.1:5432/SAMPLEDB, UserName=postgres, PostgreSQL Native Driver] 
12:22:59.585 [http-bio-3088-exec-1] DEBUG java.sql.Connection - ooo Connection Opened 
12:22:59.585 [http-bio-3088-exec-1] DEBUG o.m.s.t.SpringManagedTransaction - JDBC Connection [jdbc:postgresql://127.0.0.1:5432/SAMPLEDB, UserName=postgres, PostgreSQL Native Driver] will not be managed by Spring 
12:22:59.585 [http-bio-3088-exec-1] DEBUG org.mybatis.spring.SqlSessionUtils - SqlSession [[email protected]] was not registered for synchronization because synchronization is not active 
12:22:59.601 [http-bio-3088-exec-1] DEBUG java.sql.PreparedStatement - ==> Executing: SELECT count(*) (purposely deleted) 
12:22:59.601 [http-bio-3088-exec-1] DEBUG java.sql.PreparedStatement - ==> Parameters: 1(Integer), 7(BigDecimal), SA(String), 0(Integer), 20170404(Integer), 20170404(Integer) 
12:23:00.241 [http-bio-3088-exec-1] DEBUG java.sql.ResultSet - <== Columns: count 
12:23:00.241 [http-bio-3088-exec-1] DEBUG java.sql.ResultSet - <==  Row: 7 

的logback .XML

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 


    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
     <layout class="ch.qos.logback.classic.PatternLayout"> 
      <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern> 
     </layout> 
    </appender> 

    <appender name="WINFILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
     <File>C:/logs/logfile.log</File> 
     <layout class="ch.qos.logback.classic.PatternLayout"> 
      <pattern>%d{HH:mm:ss.SSS} %-5level %logger - %msg%n</pattern> 
     </layout> 
     <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
      <fileNamePattern>C:/logs/logfile-%d{yyyy-MM-dd}-%i.txt</fileNamePattern> 
      <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
       <maxFileSize>2MB</maxFileSize> 
      </timeBasedFileNamingAndTriggeringPolicy> 
     </rollingPolicy> 
    </appender> 


    <root level="debug"> 
     <appender-ref ref="STDOUT" /> 
     <appender-ref ref="WINFILE" /> 
    </root> 

</configuration> 

我想刪除omstSpringManagedTransaction部分

回答

0

將您的根日誌級別更改爲info。這意味着它不會打印調試日誌。

<root level="info"> 
     <appender-ref ref="STDOUT" /> 
     <appender-ref ref="WINFILE" /> 
    </root> 
+0

感謝...這會不會影響該記錄器。調試我將在我的代碼中聲明? – john1717

0
<root level="info"> 

或logback.xml

<logger name="o.m.s.t.SpringManagedTransaction" additivity="false"> 
    <level value="info"/> 
    <appender-ref ref="STDOUT"/> 
    <appender-ref ref="WINFILE"/> 
</logger> 
1

添加此如果你改變了rootloggerlevelINFO,它將被應用到所有的包,即,如果你想改變所有軟件包的日誌記錄級別,您可以更改root處的level

但是,如果你想一個人只控制o.m.s.t.SpringManagedTransaction日誌記錄,那麼你就可以做到這一點通過該軟件包添加logger,如下圖所示:

<!-- set this level to WARN/ERROR upto your project --> 
<logger name="o.m.s.t.SpringManagedTransaction" level="INFO" additivity="false"> 
    <appender-ref ref="STDOUT"/> 
    <appender-ref ref="WINFILE"/> 
</logger> 

<!-- if you want add more loggers here for different packages -->  

<!-- this is for all other packages --> 
<root level="debug"> 
    <appender-ref ref="STDOUT" /> 
    <appender-ref ref="WINFILE" /> 
</root> 
+0

謝謝...我會嘗試這一個..我認爲additivity =「false」是解決我的問題,對嗎? – john1717

+0

不,爲'SpringManagedTransaction'添加一個新的記錄器,並將其標記爲'INFO' – developer

+0

我添加了上面的代碼,但不包括STDOUT ..但我的eclipse中的控制檯日誌不顯示數據庫信息。我只是隻想在日誌文件中刪除它。 – john1717