-
データベース操作が異常があらわれた場合には、我々はログが出力文を照会することができますデバッグする必要があります
-
メインプロファイルは、logImplで具体ログ設定MyBatisのは、自動的に指定されていない時間を見つけるだろう、使用が指定されました。
-
以下は、ログの種類、実際のLOG4Jでは一般的です。
-
SLF4J
-
Laog4j
-
LOG4J2
-
JDK_LOGGING
-
COMMONS_LOGGING
-
STDOUT_LOGGING
-
NO_LOGGING
-
STDOUT_LOGGINGログ
-
標準のログ工場、リーダーパケットを必要としない使用することができます
<設定> <設定名= "logImpl"値= "STDOUT_LOGGING" /> </設定>
ログ出力の分析(説明の重要な部分の除去だけ):
//は実際には、このSTDOUT_LOGGINGクラス、StdOutImplクラスを初期化 ログが使用して「クラスorg.apache.ibatis.logging.stdout.StdOutImpl」初期化アダプタを。 .... // オープンJDBC接続 JDBC接続を開くと 作成された接続 1293680848を。 に自動コミットを設定する偽JDBC接続ON [com.mysql.cj.jdbc.ConnectionImpl@4d1c00d0] // クエリ ==> mybatis.user t.id T =から準備:? SELECT * // 入力パラメータ及び他の情報 ==>パラメータ:2 (整数) <== カラム:ID、名前、PWD <==行:2、RZP1、123 <==合計:. 1 ユーザー{ID = 2、NAME = 'RZP1'、パスワード= '123' } 自動コミットへのリセットをtrueに【com.mysql.cj.jdbc.ConnectionImpl@4d1c00d0]はJDBC接続で [com.mysql.cj.jdbc.ConnectionImpl@4d1c00d0] JDBC接続を閉じる // プールに接続プットバック プール戻された接続へ1293680848。
LOG4Jログ
-
ApacheのLog4jのは、オープンソースプロジェクトで、Log4jのを使用して、我々は先のログ情報の配信を制御することができ、コンソールでファイル、GUIコンポーネント、あるいはソケットサーバ、NTイベントロガー、UNIX /シスログ/デーモン
-
あなたは、各ログの出力形式を制御することができます。
-
各レベルは、情報のログで定義され、我々はより慎重にビルドプロセスのログを制御することができます。---出力レベルを分けることができることを意味します。情報/ Eception /エラー/デバッグ...
-
それは柔軟にアプリケーションのコードを変更することなく、設定ファイルを介して設定することができます。
輸入依存へ1のlog4jの必要性
<依存> <groupIdを> log4jの</ groupIdを> <たartifactId> log4jの</たartifactId> <バージョン> 1.2.17 </バージョン> </依存関係>
log4j.propertiesの設定ファイルフォルダリソース2.、怒っ神の教えのプロパティを添付
グレード#デバッグログ情報ファイルには、コンソールと2つの宛先、コンソールの定義ファイル、および次のコードに出力され Log4j.rootLogger = DEBUG、コンソール、ファイル #のコンソール出力の設定 log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.Target = のSystem.out log4j.appender.console.Threshold = DEBUG log4j.appender.console.layout = org.apache.log4j.PatternLayout log4j.appender.console.layout .ConversionPattern = [%C] - %M%N- 関連する設定ファイル出力# log4j.appender.file = org.apache.log4j.RollingFileAppender log4j.appender.file.File。= /ログ/ rzp.log log4j.appender.file.MaxFileSize = 10メガバイト log4j.appender.file.Threshold = DEBUG log4j.appender.file.layout = org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern = [%のP] [%dの{YY-MM-DD}] [%のC]%M%N #日志输出级别 log4j.logger.org.mybatis = DEBUG log4j.logger.java.sql = DEBUG log4j.logger.java.sql.Statement = DEBUG のlog4j .logger.java.sql.ResultSet = DEBUG log4j.logger.java.sq1.PreparedStatement = DEBUG
出力:
-
同様の観察は見てSTDOUT_LOGGINGました
[org.apache.ibatis.logging.LogFactoryは] -loggingは'クラスorg.apache.ibatis.logging.log4j.Log4jImpl'を使用して初期化アダプタを。 ... [org.apache.ibatis.transaction.jdbc.JdbcTransaction] - JDBC接続を開く [org.apache.ibatis.datasource.pooled.PooledDataSource] -Created接続1866850137 。 [org.apache.ibatis.transaction.jdbc.JdbcTransaction] -Settingオートコミットに偽のJDBC接続には、[com.mysql.cj.jdbc.ConnectionImpl@6f45df59は] [com.rzp.dao.UserMapper.getUserById] - ==>準備します:mybatis.userトンt.id = SELECT * FROM? 【com.rzp.dao.UserMapper.getUserById] - ==>パラメータ:2 (整数) [com.rzp.dao.UserMapper.getUserById]- <==合計:1人の ユーザー{ID = 2、NAME = 'RZP1'、パスワード= '123' } [org.apache.ibatis.transaction.jdbc.JdbcTransaction] -Resetting自動コミットに真JDBC接続の[com.mysql .cj.jdbc.ConnectionImpl @ 6f45df59] [org.apache.ibatis.transaction.jdbc.JdbcTransaction] - JDBC接続を閉じる[com.mysql.cj.jdbc.ConnectionImpl@6f45df59は] [org.apache.ibatis.datasource.pooled。 PooledDataSource]プールに-Returned接続1866850137。
3.カスタムのlog4jログ出力
-
Log4jの利点は、あなただけのSystem.out.println方法として、出力の内容をカスタマイズできることですが、本番環境のニーズに沿ったより、ログインする出力することができます
-
log4jのログ出力を定義するには、最初の必要性は静的オブジェクトに情報を出力するためのクラスのニーズのロガーを作成します
パブリック クラスUserDAOTest { // 静的オブジェクト 静的ロガーロガーLogger.getLogger =(UserDAOTest。クラス); @Test 公共 ボイドtestLog4j(){ //を使用して、ログファイルSystem.out.pringln法への出力として使用することができます @ 実際には、3つの方法は同じですが、ログに出力し、以前のロゴは、情報のデバッグエラー、私達が見て助けている (「情報:testLog4jを入力してください」logger.info ); logger.debug(「デバッグ:tesLog4jを入力してください」); logger.error( "エラー:tesLog4jを入力" ); } }
-
私たちのディレクトリ構成にログを探します
観察ログ:[]の最初に我々が定義するログレベルであります