基于scala-logging和logback的日志打印模板,其中logback是一個(gè)更高效/更優(yōu)于log4j的日志打印框架,目前正逐漸替代log4j的位置,以下為實(shí)現(xiàn)日志打印的幾個(gè)步驟:
1. 添加依賴
以maven為例:
<dependency>
<groupId>com.typesafe.scala-logging</groupId>
<artifactId>scala-logging_${scala.version}</artifactId>
<version>3.5.0</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
2. 添加配置文件
在resources目錄下添加logback.xml文件,該文件就類似于log4j.properties
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} TKD [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>/tmp/test.log</file>
<append>true</append>
<encoder>
<pattern>%d{HH:mm:ss.SSS} TKD [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="STDOUT"/>
<appender-ref ref="FILE"/>
</root>
<logger name="scala.slick" level="INFO" />
</configuration>
具體配置自行修改
3. 代碼操作
import com.typesafe.scalalogging.Logger
private[this] val logger = Logger(this.getClass)
logger.info("server ready ...... ")
打印效果:
23:16:05.668 TKD [main] INFO c.z.p.monitorcenter.CEApplication$ - server ready ......
23:16:05.676 TKD [main] INFO c.z.p.monitorcenter.CEApplication$ - RabbitMq Consumer Thread Start ......