Scala配置logback

scala+spark的工程中采用maven构建

1、首先在src/main/resources下加入logback.xml

2、maven下加入

<dependency>

     <groupId>com.typesafe.scala-logging</groupId>

      <artifactId>scala-logging_2.11</artifactId>

      <version>3.5.0</version>

</dependency>

<dependency>

     <groupId>ch.qos.logback</groupId>

      <artifactId>logback-classic</artifactId>

       <version>1.2.3</version>

</dependency>

3、使用的方法

private[this]val logger =Logger(this.getClass)

logger.info("server ready ...... ")

警告,控制台却出现如下提示:


SLF4J: Class path contains multiple SLF4J bindings.

SLF4J: Found binding in [jar:file:/Users/nibaohua/onway/mavenpro/repo/org/slf4j/slf4j-log4j12/1.7.16/slf4j-log4j12-1.7.16.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: Found binding in [jar:file:/Users/nibaohua/onway/mavenpro/repo/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]

log4j:WARN No appenders could be found for logger (Test1$).

log4j:WARN Please initialize the log4j system properly.

log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.


其实很简单,查看问题说明引入了多个slf4j,在maven下面饮用的jar包也可以看到,找到依赖该jar的包,修改如下,增加exclusions

<dependency>

       <groupId>org.apache.spark</groupId>

        <artifactId>spark-core_2.11</artifactId>

            <version>${spark}</version>

        <exclusions>

            <exclusion>

                  <groupId>org.slf4j</groupId> 

                   <artifactId>slf4j-log4j12</artifactId>

            </exclusion>

           <exclusion>

                 <groupId>log4j</groupId>

                 <artifactId>log4j</artifactId>

           </exclusion>

         </exclusions>

</dependency>

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容