Log4j ロギング フレームワークの構成

個人的に学習ビデオを組み合わせて簡単に理解して記録します

ログ レベルの説明: 
    Log4j は、すべての 8 レベルのログ出力を提供します。
    最も低いレベルは、すべてのレベルのログを開くために使用されます。TRACE
    プログラムに基づく追跡情報は昇格されます。この追跡情報のログ レベルは非常に低く、使用される DEBUG は、主に開発と協力し、開発プロセス中に重要な実行情報を出力するために、きめの細かい情報イベントがアプリケーションのデバッグに非常に役立つことを示しています。INFO
    メッセージの
    粗いレベルの実行情報
    WARNは警告を意味し、プログラムは実行中です 発生する可能性のある隠れたエラーが発生します
            。一部の情報はエラーではありませんが、このレベルの出力の目的は、プログラマに
    エラー システムのエラー メッセージを表示することであることに注意してください。発生してもシステムの動作には影響しません
            。一般に、あまり多くのログを出力したくない場合は、このレベルを使用できます。FATAL は、
    システムが続行できない重大なエラーを意味します。このレベルのエラーが発生した
            場合、プログラムは実行を停止できることを意味します。OFF
    が最高のレベルです。ユーザーはすべてのログ レコードを閉じます。
    デバッグがデフォルトのログ出力レベルです。設定しないでください

以前 -- これはデフォルトの初期化構成であり、使用しない場合は追加する必要はありません。

//加载初始化配置
BasicConfigurator.configure();
Logger logger = Logger.getLogger(Log4jTest01.class);

logger.fatal("fatal信息");
logger.error("error信息");
logger.warn("warn信息");
logger.info("info信息");
logger.debug("debug信息");
logger.trace("trace信息");

始める

1.log4j.properties設定ファイル

#配置根节点logger
log4j.rootLogger=trace,console

#配置自定义logger,log4j.logger.这后面开始就是项目的路径,会继承根logger
log4j.logger.com.bjpowernode.log4j.test=info,file

#配置apache的logger
log4j.logger.org.apache=error

#日志输出方式--控制台
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.conversionPattern=%r [%-10p] %t %c %d{yyyy-MM-dd HH:mm:ss:SSS} [%m] %n

#日志输出方式--文件
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.conversionPattern=%r [%-10p] %t %c %d{yyyy-MM-dd HH:mm:ss:SSS} [%m] %n
log4j.appender.file.file=E://test//log4j.log
log4j.appender.file.encoding=UTF-8

#日志输出方式--根据文件大小
#RollingFileAppender
log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender
log4j.appender.rollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.rollingFile.layout.conversionPattern=%r [%-10p] %t %c %d{yyyy-MM-dd HH:mm:ss:SSS} [%m] %n
log4j.appender.rollingFile.file=E://test//log4j.log
log4j.appender.rollingFile.encoding=UTF-8
#拆分文件的大小
log4j.appender.rollingFile.maxFileSize=1MB
#拆分文件的数量
log4j.appender.rollingFile.maxBackupIndex=5

#日志输出方式--根据时间
#DailyRollingFileAppender
log4j.appender.dailyRollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.dailyRollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.dailyRollingFile.layout.conversionPattern=%r [%-10p] %t %c %d{yyyy-MM-dd HH:mm:ss:SSS} [%m] %n
log4j.appender.dailyRollingFile.file=E://test//log4j.log
log4j.appender.dailyRollingFile.encoding=UTF-8
##文件拼接格式,不能使用'.'yyyy-MM-dd HH:mm:ss:SSS,这个格式,会报错
log4j.appender.dailyRollingFile.datePattern='.'yyyy-MM-dd HH-mm-ss

#配置appender输出方式 输出到数据库表
log4j.appender.logDB=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.logDB.layout=org.apache.log4j.PatternLayout
log4j.appender.logDB.Driver=com.mysql.jdbc.Driver
log4j.appender.logDB.URL=jdbc:mysql://localhost:3306/test
log4j.appender.logDB.User=root
log4j.appender.logDB.Password=123456
log4j.appender.logDB.Sql=INSERT INTO tbl_log(name,createTime,level,category,fileName,message) values('project_log','%d{yyyy-MM-dd HH:mm:ss}','%p','%c','%F','%m')

2. Javaコード

public class Log4jTest02 {

    @Test
    public void test02(){

        //启动默认的log4j.properties配置文件
        //BasicConfigurator.configure();

        //输出Logger的详细信息
        //LogLog.setInternalDebugging(true);
        Logger logger = Logger.getLogger(Log4jTest02.class);

        logger.fatal("fatal");
        logger.error("error");
        logger.warn("warn");
        logger.info("info");
        logger.debug("debug");
        logger.trace("trace");

        Logger logger1 = Logger.getLogger(Logger.class);

        logger1.fatal("fatal");
        logger1.error("error");
        logger1.warn("warn");
        logger1.info("info");
        logger1.debug("debug");
        logger1.trace("trace");

    }
}

3. 依存性

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>

        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.21</version>
        </dependency>

4. まとめ

好奇心是动力!

最初のステップは、依存関係をインポートすることです。2 番目のステップは、ルート ロガーを構成することです。最初のパラメータはログ レベルで、2 番目のパラメータはログ出力方法です。複数のログ出力方法を「,」で区切って指定できます。 3 番目のステップは要約です。ログ出力方法は 5 つあり、1 つを使用することも、複数を組み合わせて使用​​することもできます。4 番目のステップはテストです。固定プレフィックス log4j.logger. を使用してカスタム ロガーを構成することもできます。後ろにドットがあり、サフィックスがプロジェクトのパッケージ パスであることに注意してください。

不備があればご指摘ください〜

おすすめ

転載: blog.csdn.net/DDDM456/article/details/126883903