009--IDEA使用日志框架Log4j

1、写在前面

Log4j已经成为开发必须的工具之一,在此记录学习过程


2、核心操作


3、具体操作

3.1、Log4j特点学习

日志级别由高到低,共分 6 个级别:

  • fatal(致命的)
  • error
  • warn
  • info
  • debug
  • trace(堆栈)

什么是日志附加器?

所谓日志附加器,就是为日志记录器附加上很多其它设置信息。附加器的本质是一个接口,其定义语法为:log4j.appender.appenderName = 输出位置

常用的附加器实现类

  • org.apache.log4j.ConsoleAppender:日志输出到控制台
  • org.apache.log4j.FileAppender:日志输出到文件
  • org.apache.log4j.RollingFileAppender:当日志文件大小到达指定尺寸的时候将产生一个新的日志文件
  • org.apache.log4j.DailyRollingFileAppender:每天产生一个日志文件

常用布局类型

  • org.apache.log4j.HTMLLayout:网页布局,以 HTML 表格形式布局
  • org.apache.log4j.SimpleLayout:简单布局,包含日志信息的级别和信息字符串
  • org.apache.log4j.PatternLayout:匹配器布局,可以灵活地指定布局模式。其主要是通过设置 PatternLayout 的 ConversionPattern 属性值来控制具体输出格式的 。

3.2、编写Log4j学习Demo

slf4j 的全称是 Simple Loging Facade For Java,即它仅仅是一个为 Java 程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就比如 JDBC 一样,只是一种规则而已。所以单独的 slf4j 是不能工作的,必须搭配其他具体的日志实现方案,比如 apache 的 org.apache.log4j.Logger,JDK 自带的 java.util.logging.Logger 以及 log4j 等。

  • 添加pom依赖
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.3.17.RELEASE</version>
        </dependency>
        <!--测试框架junit-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <!--日志框架log4j-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.10</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.25</version>
        </dependency>
    </dependencies>
  • 添加log4j.properties
log4j.rootLogger=INFO, console, file

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d %p [%c] - %m%n

log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=logs/log.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.A3.MaxFileSize=1024KB
log4j.appender.A3.MaxBackupIndex=10
log4j.appender.file.layout.ConversionPattern=%d %p [%c] - %m%n
  • 编写日志案例1
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * Created with IntelliJ IDEA.
 * User: enzoism
 * Date: 2020/2/4- 16:16
 */
@Slf4j
public class TestLog {
//    Logger logger = LoggerFactory.getLogger(TestLog.class);

    @Test
    public void testLog() {
        log.info("-------------------->slf4j for info");
        log.debug("-------------------->slf4j for debug");
        log.error("-------------------->slf4j for error");
        log.warn("-------------------->slf4j for warn");

        String message1 = "Hello ";
        String message2 = "SLF4J";
        log.info("-------------------->slf4j message is : {}, {}", message1, message2);
    }
}

  • 编写日志案例2
import com.enzoism.spring.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

/**
 * Created with IntelliJ IDEA.
 * User: enzoism
 * Date: 2020/2/4- 15:24
 */
@Service
@Slf4j
public class UserServiceImpl implements UserService{
    public void sayHello() {
        log.info("-------------Hello,Spring!");
        System.out.println("Hello,Spring!");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值