Java 日志 slf4j、log4j、logback、log4j2 ,以及log4j.properties配置文件,以及阿里日志规范

接口:

slf4j 是所有日志框架的规范、标准、接口。需要(如log4j、logback)实现使用

实现:

log4j 是apache实现的一个开源日志组件

logback 同样是由log4j的作者设计完成的,拥有更好的特性,用来取代log4j的一个日志框架,是slf4j的原生实现

Log4j2 是log4j 1.x和logback的改进版,采用无锁异步等,使日志吞吐量、性能比log4j 1.x提高10倍,并解决了一些死锁的bug,而且配置更加简单灵活

一、springboot开启日志

1,引入lombok

<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
</dependency>

2,在类上加@Slf4j注解

3,在方法上加log.info(“打印内容”);即可

二、springboot配置mybatis的sql日志

在application.properties中配置

#配置mybatis日志,其中“logging.level.”为前缀,“com.sanwu.mapper”为Mapper接口所在的包路径。
logging.level.com.sanwu.mapper=debug

三、springMVC开启日志

log4j.properties配置文件

### set log levels ###
log4j.rootLogger=debug,console,file
### 输出到控制台 ###
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=%d{yyyy-MM-dd HH\:mm\:ss} [%5p] - %c -%F(%L) -%m%n
### 输出到文件 ###
##  其中File 可以采用绝对路径 亦可以采用相对路径 catalina.home 是tomcat目录  如果没有logs文件夹 将会报错  ##
##  更加倾向于将日志文件放在  tomcat的日志目录下${catalina.home}/logs/salesmanb2bError.log ##
##  绝对路径如:e:/salesmanb2bError.log ##
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=./log/chenxb.log
log4j.appender.file.Threshold=debug
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} [%5p] - %c -%F(%L) -%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.sql.PreparedStatement=debug

XML配置

<settings>
        <!--标准日志工厂-->
        <!--<setting name="logImpl" value="STDOUT_LOGGING"/>-->
        <setting name="logImpl" value="LOG4J"/>
</settings>

在类中引入

static Logger logger = Logger.getLogger(MyTest.class);

在方法中调用

logger.debug("111111111111111");

其他 Dubbo-Admin的log4j.properties配置文件(作为参考)

log4j.rootCategory=INFO, stdout, file
log4j.logger.org.apache=ERROR

# 控制台输出
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.target=System.out
log4j.appender.stdout.Threshold=INFO
log4j.appender.stdout.encoding=GBK
log4j.appender.stdout.layout.ConversionPattern=%5p %c{2} - %m%n

# 文件输出
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.file=dubbo-governance.log
log4j.appender.file.Threshold=INFO
log4j.appender.file.append=true
log4j.appender.file.maxFileSize=10MB
log4j.appender.file.maxBackupIndex=100
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d [%t] %-5p %C{6} (%F:%L) - %m%n

阿里日志规范

在日志输出时,字符串变量之间的拼接使用占位符的方式。

说明:

因为 String 字符串的拼接会使用 StringBuilder 的 append()方式,有一定的性能损耗。

使用占位符仅是替换动作,可以有效提升性能。

正例:logger.debug(“Processing trade with id: {} and symbol: {}”, id, symbol);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值