首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java日志框架(二)Log4j的学习,这个是什么,如何配置输出到文件,数据库

java日志框架(二)Log4j的学习,这个是什么,如何配置输出到文件,数据库

作者头像
一写代码就开心
发布2021-07-16 11:23:51
6240
发布2021-07-16 11:23:51
举报
文章被收录于专栏:java和pythonjava和pythonjava和python

目录

Log4j是什么

在这里插入图片描述
在这里插入图片描述

组件

在这里插入图片描述
在这里插入图片描述

Loggers(日志记录器)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Appenders(输出控制器)

在这里插入图片描述
在这里插入图片描述

Layouts(日志格式化)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

日志输出格式

在这里插入图片描述
在这里插入图片描述

利用例子解读

1 创建maven项目,导入log4j依赖

  <dependencies>
        <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>

    </dependencies>

2 写代码,入门

import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Logger;
import org.junit.Test;


public class Log4jTest {

    @Test
    public void test(){
//        加载初始化配置
        BasicConfigurator.configure();

        // 创建日志记录器对象,不是直接new,因为这个类受保护,所以只能使用静态方法进行创建对象
        Logger logger = Logger.getLogger(Log4jTest.class);
        // 日志记录输出
        logger.info("dddddd");


    }
}
在这里插入图片描述
在这里插入图片描述

log4j有默认的配置,

在这里插入图片描述
在这里插入图片描述
        BasicConfigurator.configure();

这个是加载默认的配置,不写这个会报错,我们看这个源码里面是什么

在这里插入图片描述
在这里插入图片描述

这个配置里面是默认的控制台输出,输出格式也有默认的

日志级别

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如何利用配置文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

源码里面,这个文件可以配置哪些?

在这里插入图片描述
在这里插入图片描述

也就是项目一启动,就会加载log4j.properties这个文件,就会加载里面的这些属性。

在这里插入图片描述
在这里插入图片描述

CONSOLE 这个是自己定义的,你也可以改名字

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
log4j.rootCategory=info

# 表示以控制台方式输出
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
# 表示输出的格式
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=- %c-%d-%m%n
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
log4j.rootCategory=info,CONSOLE,LOGFILE

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=- %c-%d-%m%n

log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=D:/axis.log
log4j.appender.LOGFILE.Append=true


PatternLayout 这个是自定义的
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=- %c-%d-%m%n
在这里插入图片描述
在这里插入图片描述

将日志输出到文件(FileAppender)

我们再配置文件里面写 关于输出到文件的配置:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=- %c-%d-%m%n
log4j.appender.file.file = D://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=- %c-%d-%m%n
log4j.appender.rollingFile.file = D://log4j.log
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=- %c-%d-%m%n
log4j.appender.dailyRollingFile.file = D://log4j.log
log4j.appender.dailyRollingFile.datePattern = '.'yyyy-MM-dd HH-mm-ss

将日志输出到数据库中

首先在数据库中创建日志数据表

在这里插入图片描述
在这里插入图片描述

导入数据库依赖

#保存到数据库
log4j.appender.logDb=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.logDb.layout=org.apache.log4j.PatternLayout
log4j.appender.logDb.layout.ConversionPattern=- %c-%d-%m%n
log4j.appender.logDb.Driver = com.mysql.jdbc.Driver
log4j.appender.logDb.URL = com.mysql.jdbc.Driver
log4j.appender.logDb.User = root
log4j.appender.logDb.Password = 123456
log4j.appender.logDb.Sql = insert into tbl_log(id,name,createtime,level,filename) values()

配置一下就可以

自定义logger

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-07-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • Log4j是什么
  • 组件
    • Loggers(日志记录器)
      • Appenders(输出控制器)
        • Layouts(日志格式化)
          • 日志输出格式
          • 利用例子解读
            • 日志级别
              • 如何利用配置文件
                • 将日志输出到文件(FileAppender)
                  • 将日志输出到文件(RollingFileAppender)
                    • 将日志输出到文件(DailyRollingFileAppender)
                      • 将日志输出到数据库中
                        • 自定义logger
                        相关产品与服务
                        数据库
                        云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档