Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 执行时不显示带有ScalaLogg的信息消息";“sbt运行”;_Java_Logging_Sbt_Slf4j_Log4j2 - Fatal编程技术网

Java 执行时不显示带有ScalaLogg的信息消息";“sbt运行”;

Java 执行时不显示带有ScalaLogg的信息消息";“sbt运行”;,java,logging,sbt,slf4j,log4j2,Java,Logging,Sbt,Slf4j,Log4j2,我有一个SBT项目,其中包含以下log4j.properties文件(位于src/main/resources): 构建.sbt "com.typesafe" %% "scalalogging-log4j" % "1.1.0", "org.slf4j" % "slf4j-log4j12" % "1.7.5", "org.apache.logging.log4j" % "log4j-core" % "2.0-beta4", "org.apache.logging.log4j" % "log

我有一个SBT项目,其中包含以下
log4j.properties
文件(位于
src/main/resources
):

构建.sbt

 "com.typesafe" %% "scalalogging-log4j" % "1.1.0",
 "org.slf4j" % "slf4j-log4j12" % "1.7.5",
 "org.apache.logging.log4j" % "log4j-core" % "2.0-beta4",
 "org.apache.logging.log4j" % "log4j-api" % "2.0-beta4"
执行
sbt run
时,以下代码段无法向控制台输出任何内容:

 class Retrieval extends Logging {
   def get(userID: Int): Seq[String] = {
     logger.info("test")
   }
 }
更改为
logging.error(“test”)
可以正常工作。知道发生了什么吗?

您正在使用log4j2(我建议升级到更新的log4j-2.0-RC1,顺便说一句),但您的配置是针对传统的log4j-1.2

Log4j2正在查找Log4j2.xml配置文件,并忽略任何log4j.xml或log4j.properties文件。如果log4j2找不到配置文件,它将使用默认配置,只将错误级别的消息记录到控制台。我认为这就是正在发生的事情

要解决此问题,请在下面创建名为log4j2.xml的文件,并将其放入类路径中

<Configuration status="warn" name="MyApp" packages="">
  <Appenders>
    <Console name="STDOUT" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/>
    </Console>
  </Appenders>
  <Loggers>
    <Root level="info">
      <AppenderRef ref="STDOUT"/>
    </Root>
  </Loggers>
</Configuration>

<Configuration status="warn" name="MyApp" packages="">
  <Appenders>
    <Console name="STDOUT" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/>
    </Console>
  </Appenders>
  <Loggers>
    <Root level="info">
      <AppenderRef ref="STDOUT"/>
    </Root>
  </Loggers>
</Configuration>